4

我有一个文本框,一旦用户输入内容,文本框上方就会显示一些建议。这些建议包含在一个“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 上处理这个问题?

4

1 回答 1

2

您可以尝试捕获所有点击并检查点击是否在您的建议 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();

    }

});
于 2013-07-25T13:04:49.817 回答