Javascript 将js事件绑定到除1个元素之外的文档
基本上,我有一个弹出窗口,当它在外面的任何地方被点击时,我想隐藏它,但是有一个元素(这是另一个弹出窗口,比如说div#另一个弹出窗口)。然后我点击另一个弹出窗口,它不应该隐藏原来的。。现在是这样,因为我有:Javascript 将js事件绑定到除1个元素之外的文档,javascript,jquery,Javascript,Jquery,基本上,我有一个弹出窗口,当它在外面的任何地方被点击时,我想隐藏它,但是有一个元素(这是另一个弹出窗口,比如说div#另一个弹出窗口)。然后我点击另一个弹出窗口,它不应该隐藏原来的。。现在是这样,因为我有: $(document).bind('click', methods.hide); 如何将其绑定到文档,除了#另一个弹出窗口?:) 您确实不能,但可以检查内部方法。如果目标元素是,则隐藏,然后再弹出另一个弹出窗口,并在执行任何操作之前立即退出函数。通过使用unbind,您可以执行以下操作
$(document).bind('click', methods.hide);
如何将其绑定到文档,除了#另一个弹出窗口?:) 您确实不能,但可以检查内部
方法。如果目标元素是,则隐藏,然后再弹出另一个弹出窗口,并在执行任何操作之前立即退出函数。通过使用unbind,您可以执行以下操作:
$(document).bind('click',methods.hide);
$('#AnotherPopup').unbind('click',methods.hide);
阅读更多关于#的点击处理程序另一个弹出窗口是阻止文档获取点击事件
$(document).bind("click", function () {
alert(this.innerHTML)
});
$('#AnotherPopup').click(function () {return false;});
我认为这行不通。实际上,methods.hide并没有绑定到另一个弹出窗口,而是绑定到文档。所以没有什么可以解开的…所以。。您实际上是将EventHandler绑定到除一个之外的所有DOM元素?这不是一个好主意。@erlando,这是OP要求的,但这根本不是正确的方法。在这种情况下,最好绑定到文档,然后检查另一个弹出窗口。绑定到DOM中的/every/元素是不必要的,而且需要大量资源。@erlando,您现在怎么看?