Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery blur在Firefox和Chrome中不起作用,但在IE9中起作用_Javascript_Jquery - Fatal编程技术网

Javascript Jquery blur在Firefox和Chrome中不起作用,但在IE9中起作用

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">

我有这个HTML代码,它模拟了一个下拉多复选框

<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");
  });