Javascript IE上div滚动时触发模糊事件
我有一个文本框,当用户键入内容时,文本框上方会显示一些建议。这些建议被包装在一个“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之外,它将隐藏“建议”
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')
?