我正在尝试$('body').live('click')
在用户单击 div 后添加一个侦听器。目的是创建一个自定义下拉框,用户可以通过单击页面上的任意位置来打开和最终关闭该下拉框。
但是当我在函数内部添加.live()
或函数时,由于某种原因会触发该函数:.bind()
.click()
live()
$('#myDiv').click(function(){
$('#myDiv .child').show().addClass('showing');
$('body').live('click', function(){
$('#myDiv .child').hide();
$('body').die();
})
})
#myDiv
.showing
显示但立即隐藏,挥之不去的班级证明了这一点。
我用live()
错了吗?如何避免这种递归?