我的页面由菜单和正文组成,两者都有div。当页面打开时,我使用“on”方法添加到div元素事件处理程序,一切正常。但是可以使用ajax重新加载body。我知道body的div不起作用,我想为它添加事件处理程序。 我尝试了几件事,但主要的问题是,当我向div添加事件处理程序时,它也添加到我的菜单中的div元素。当我点击菜单时,div事件会触发两次。我尝试使用这样的结构
$('.div-element').off().on('click', function(){///});
但这没有任何影响。 请提出建议。
答案 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(){///});