2

Web ページのカスタム ツールチップを作成しようとしていますが、選択ボックスと Internet Explorer (IE) 以外はすべて問題ないようです。ツールチップを追加した後、IE でオプションを選択できません。選択ボックスをクリックしてオプションを表示できますが、オプションにマウスを合わせるとすぐに選択ボックスが閉じます。

このjsfiddleを使用して明確に観察できます。Firefox と Internet Explorer で開いてみてください。Firefox では正常に動作しますが、IE では、オプションの 1 つを選択しようとするとすぐに選択ボックスが閉じます。

IEで正しく動作させるにはどうすればよいですか?

4

3 に答える 3

4

いくつかのラインコードを閉じてみて、以下のように変更してください。

 ...

   this.t = this.title;
   // this.title = "";
   $("body").append("<p id='tooltip'>"+ this.t +"</p>");
 ... 
   //this.title = this.t;
   $("#tooltip").remove();
 ...
于 2012-09-26T06:58:54.263 に答える
2

子オプション要素にもホバーを適用しているため、関数内での伝播を停止するように IE に明示的に指示する必要があります。

$('*.tooltip').hover(function(e)
{
    e.stopPropagation();

    ...
}

オリジナルフィドル

これは IE7、8、および 9 で機能します。

イベント オブジェクトの選択ボックスをチェックする条件節が追加されました。

更新されたフィドル

于 2012-09-26T06:50:26.840 に答える
0

titleこのコントロールは本当に必要ですか? あなたは使用することができdata attributes、すべてがうまくいくでしょう。例: http://jsfiddle.net/6MzD3/16/。また、プラグイン/オーサリングを見て、ハードコーディングされたセレクターなしでツールチップ用のシンプルなプラグインを作成してください。

于 2012-09-26T07:28:37.457 に答える