Udd*_*ers 1 javascript jquery dom-manipulation
我在一个元素上有一个click事件,它将它的类从"fave"更改为"faved",然后我尝试触发一个新的clicked事件,如果在它的类被faved时单击该元素,但它没有触发,这里是我的javascript.
$("#jobwall .fave").click(function(){
var self = $(this);
$.ajax({
url: "/favourites/save_employer",
type: "POST",
data: "employer_id="+self.attr('href'),
success:function() {
self.removeClass('fave');
self.addClass('faved');
}
});
return false;
});
$(".faved").live("click", function(){
alert("!!");
return false;
});
Run Code Online (Sandbox Code Playgroud)
您可以将.click()事件包含在新对象中,而不是使用.live().像这样:
$("#jobwall .fave").click(function(){
var self = $(this);
$.ajax({
url: "/favourites/save_employer",
type: "POST",
data: "employer_id="+self.attr('href'),
success:function() {
self.removeClass('fave');
self.addClass('faved');
self.click(function(){alert("!!"); return false;});
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
.live()方法用于添加元素,而不是更改.记住这一点.
祝你好运:D
从jQuery 1.7开始,该.live()方法已被弃用.使用.on()附加的事件处理程序.