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 に答える