1

这是问题所在。SELECT打开时, Firefox(Windows)不会触发文档单击事件。它只是关闭选择,只有下一次点击才会被计为一次点击。

重现:

  1. 点击选择(会出现下拉菜单)
  2. 单击下拉菜单外部,在文档外部(选择将被关闭)

但是,第二次点击不会触发文档点击事件。

正如您在这个Youtube 视频中看到的,有 3 次点击,但有 2 个事件。

jsFiddle 上的演示

HTML

<select>
    <option value="1">Value1</option>
    <option value="2">Value2</option>
    <option value="3">Value3</option>
</select>
<div id="debug"></div>

JS

var n = 0;
$(document).ready(function(){
    $('select').click(function(e){
      e.stopPropagation();
      n++;
      $('#debug').text('select clicked ' + n);
    });

    $(document).click(function(){
        n++;        
        $('#debug').text('document clicked '+ n);
    });
})
4

0 回答 0