Javascript Jquery blur在Firefox和Chrome中不起作用,但在IE9中起作用
我有这个HTML代码,它模拟了一个下拉多复选框Javascript Jquery blur在Firefox和Chrome中不起作用,但在IE9中起作用,javascript,jquery,Javascript,Jquery,我有这个HTML代码,它模拟了一个下拉多复选框 <div> <div class="select"> <span>Select something</span> </div> <div class="no-display select-list"> <div> <label class="unchecked" for="value1">
<div>
<div class="select">
<span>Select something</span>
</div>
<div class="no-display select-list">
<div>
<label class="unchecked" for="value1">
Value1
</label>
<label class="unchecked" for="value2">
Value2
</label>
</div>
</div>
</div>
但在Firefox和Chrome中,模糊事件不起作用,但在IE9中起作用
我想,当在选择列表元素外部单击时,关闭它意味着使其不可见
我在对该元素指定焦点后使用了模糊事件
你能告诉我做那件事的好方法吗
感谢您尝试使用onfocusout而不是onblur,因为模糊事件并不总是被触发。尝试在文档上单击以隐藏菜单。菜单中的单击也会传播到文档中,因此您需要一个解决方案,例如,您可以检查event.originalEvent
在选择列表divread about tabindex property上设置属性tabindex=-1。只是一个旁注:live已经过时,on是新的daddy:PI尝试了live和on。同样的问题。模糊事件不会冒泡,因此不能在委托处理程序中使用。它在IE9中起作用可能是因为jQuery显式地解决了事件冒泡问题,而在本例中,它解决了太多的问题?也许,创建一个能突出你的问题的报告可能会有帮助,并能吸引人们对你的问题的注意。本地化列表已替换为。选择列表对我无效。您的脚本在“我的项目”中打开并使“选择列表”不可见,以使“单击”事件无效。什么也没发生。
$(".select").live("click", function () {
$(".select-list").toggleClass("no-display").focus();
});
$(".select-list").live("blur", function () {
$(this).addClass("no-display");
});