0

$("element").trigger("mouseenter") を使用して、mouseenter イベントを手動でトリガーしようとしました。IE8 以外のすべてのブラウザで正常に動作します。

<html><head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
    <meta charset="utf-8">
    </head>
    <body>
      <div id="box" style="border:5px solid red;width:100px;height:100px">
     </div>
    <script>
    $(function(){
      $("#box").mouseenter( function(event){
        console.log("mouseenter triggered!!");
      });
      $("#box").trigger("mouseenter");
      //$("#box").mouseenter();
    });
 </script>
    </body></html>
4

1 に答える 1

-3

IE8 は、新しいバージョンの jQuery をあまりサポートしていません。jQueryがそう言っていることは知っていますが、常にそうであるとは限りません。jQuery 1.6 より前の古いライブラリを使用してみてください。ブラウザ検出機能を追加して、2 つのライブラリを切り替えることもできます。

--編集--OK、そこで繰り返しマークダウンされたので、回答を拡大させてください。新しい JQ ライブラリを放棄することを提案しているわけではありません。

機能が古い JQ ライブラリで動作するかどうかをテストします。その場合は、Modernizr などの検出ソフトウェアを使用して、古い jQuery ライブラリをそのブラウザーに提供する必要があります。そうでない場合 (そしてほとんどの場合そうすべきではない場合)、新しい jQuery ライブラリを提供します。

--edit 2-- そして実際、それはポスターの問題を解決したように見えましたね?

于 2013-08-09T23:18:26.460 に答える