jquery删除然后追加并做一些onclick

时间:2013-01-04 18:55:05

标签: jquery onclick append

在文档就绪时,我有一个onclick函数,它使用class = project更改某些元素的css。如果因为另一个事件使用.remove()而删除那些带有class = project的元素,然后使用.append()和class = project追加新元素,因为不同的事件,不应该更改css的onclick事件仍然有用,因为新元素有class = project?

它看起来不像是但是有办法吗?

3 个答案:

答案 0 :(得分:2)

不需要再次使用事件处理程序委托或绑定新元素,因为它们在绑定时不存在。

$('.project').on('click',function(){...}) // <-- elements must exist at time of binding

$('body').on('click','.project',function(){...}) // <-- event handler is attached to an ancestor element - which is body in this example
// the ancestor element will now listen to events from elements with class=project and handle the events as they bubble up

答案 1 :(得分:1)

尝试使用.detach代替.remove。但是,听起来你想使用委托。至少:

$(document).on('click', '.project', function () {

您应该尝试使用更具体的选择器,而不是使用document元素的容器的父级。

答案 2 :(得分:0)

我了解了jQuery的.delegate,它确实想要我想要的。我可以删除并附加我想要的所有内容。我希望这有助于其他人。