0

通常のHTML選択ボックスの使用:

<select>
    <option value="">click to select a task type</option>
    <option value="">Awesome Option</option>

このjQueryを使用する場合:

  $("select, option").live({
    mouseenter: function(){
      console.log("INSIDE");
    },
    mouseleave: function(){
      console.log("OUTSIDE");
    }
  });

選択ボックスをクリックし、いずれかのオプションの上にマウスを置くと、IEはマウスが「外側」であると応答します。

そのための回避策はありますか?

4

1 に答える 1

1

イベントをにバインドしても何も起こりませんoption。イベントをそれにバインドすることはできないと思います。または、可能であれば、すべてのイベントではありません。click確かにそして明らかにこれらも。

selectオプションを選択するために下に移動するときに、実際にマウスを要素の外側に移動しているので、この動作は理にかなっています。ブラウザ/OSはメニューの表示を処理します。そして、これを行うのはIEだけではありません。Chromeも。

blur要素がフォーカスを失ったときに発生するイベントを使用することをお勧めします。これは、外側をクリックしてメニューを閉じたときにのみ発生します。

 $("select").live({
    mouseenter: function(){
      console.log("INSIDE");
    },
    blur: function(){
      console.log("OUTSIDE");
    }
  });

デモ

于 2012-07-13T16:13:07.857 に答える