我试图在用户单击div后添加一个$('body').live('click')
侦听器。目的是创建一个自定义下拉框,用户可以通过点击页面上的任何位置打开并最终关闭。在.click()函数中使用.live('click')触发自己
但是当我添加.click()
函数内部.live()
或.bind()
功能,live()
功能被触发某种原因:
$('#myDiv').click(function(){
$('#myDiv .child').show().addClass('showing');
$('body').live('click', function(){
$('#myDiv .child').hide();
$('body').die();
})
})
#myDiv
显示,而是立即隐藏,由挥之不去.showing
类证明。
我使用live()
错了吗?我如何避免这种递归?
解释什么是你想这样做,而不是解释目前自己在做什么。也许我们可以提供替代方案,而不是修复潜在的错误代码。 – Joseph 2012-04-05 02:47:26