在html元素中添加和删除事件处理程序

时间:2013-12-20 12:16:36

标签: jquery

我的页面由菜单和正文组成,两者都有div。当页面打开时,我使用“on”方法添加到div元素事件处理程序,一切正常。但是可以使用ajax重新加载body。我知道body的div不起作用,我想为它添加事件处理程序。 我尝试了几件事,但主要的问题是,当我向div添加事件处理程序时,它也添加到我的菜单中的div元素。当我点击菜单时,div事件会触发两次。我尝试使用这样的结构

$('.div-element').off().on('click', function(){///});

但这没有任何影响。 请提出建议。

3 个答案:

答案 0 :(得分:3)

$(document).on('click','.div-element', function(){///});

试一试

答案 1 :(得分:0)

由于body使用ajax重新加载,以确保您保留events div's body jQuery's$('body').on('click', 'div', function(event){ //code for event handler }) events }} delegated events。例如:

div's

这将确保即使在body重新加载后,{{1}}添加到{{1}}也会保留。

答案 2 :(得分:0)

试试这个:

$('body').on('click','.div-element', function(){///});