Mootools:使Ajax回调与单击的元素一起使用
-
21-12-2019 - |
题
假设我有许多红色彩色链接,并希望将单击事件添加到它们,使其在触发时,它将链接的href属性发送到服务器(作为ajax请求),并在成功,链接颜色将改为绿色。 我想要一些这样的东西:
$$('a.red').addEvent(
"click",
function () {
new Request.JSON({
url: 'script.php',
onSuccess: function(){
[the link wich is clicked].setStyle('color', 'green');
return false;
}
}).get("url="+[url of the link]);
}
);
.
抱歉如果愚蠢的问题。请编辑标题为一些明智的。
解决方案
此处的问题是事件处理程序内的生成icOdeTagcode在请求类中的生成类别不相同。因此,通常完成的是更改新变量中的引用this
,例如世代odicetagcode。
之后,您可以使用this
$$('a.red').addEvent("click", function (event) {
var self = this;
event.stop();
new Request.JSON({
url: 'script.php',
onSuccess: function () {
self.removeClass('red').addClass('green');
return false; // I added event.stop(), presume that is what you meant. Do this line can be removed
}
}).get("url=" + self.href);
});
.
并在CSS中使用:
.green {
color: green;
}
.
示例
不隶属于 StackOverflow