Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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 IE上div滚动时触发模糊事件_Javascript_Jquery_Internet Explorer - Fatal编程技术网

Javascript IE上div滚动时触发模糊事件

Javascript IE上div滚动时触发模糊事件,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,我有一个文本框,当用户键入内容时,文本框上方会显示一些建议。这些建议被包装在一个“div”中,如果超过某个高度,则可以滚动 inputFld.on("blur", function(){ //Some code to close the suggestion div if clicked outside inputFld (with check for click on any suggestion item) }); 因此,上面的代码所做的是,如果单击在inputFld之外,它将隐藏“建议”

我有一个文本框,当用户键入内容时,文本框上方会显示一些建议。这些建议被包装在一个“div”中,如果超过某个高度,则可以滚动

inputFld.on("blur", function(){
//Some code to close the suggestion div if clicked outside inputFld (with check for click on any suggestion item)
});
因此,上面的代码所做的是,如果单击在inputFld之外,它将隐藏“建议”div包装器

现在的问题是当有很多建议项目,我得到一个滚动条。 如果我尝试滚动IE上的项目,就会触发blur事件并关闭建议包装器div

但这在其他浏览器上不会发生


我如何处理IE上的这个问题

您可以尝试捕获所有单击,并检查单击是否在您的建议div之外的内容上:

$("body").bind('click', function(e) {

    var target_div_id = e.target.id; //get ID of clicked element

    if (target_div_id !== 'suggestion_div') { //check whether clicked element = suggestion_div

        $('#suggestion_div').hide();

    }

});

所有的IE版本?这是发生在特定的IE版本还是所有的IE版本上?我很好奇,为什么在非IE浏览器中也没有同样的行为。为什么单击滚动条不会在输入上引起模糊事件?是的,在所有IE浏览器上……所有其他浏览器都可以正常工作……不仅是滚动条,即使您单击“建议”分区内的建议项,它也会触发。不应
$(this)。attr('id')
be
$(e.target)。attr('id')