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 之前的旧库。您甚至可以添加浏览器检测功能来在两个库之间切换。

--edit-- 好的,在那里被反复标记,所以让我扩展我的答案。我并不是建议放弃较新的 JQ 库,因为那确实是愚蠢的。

测试您的功能是否适用于较旧的 JQ 库。如果是这样,您将不得不尝试使用诸如 Modernizr 或其他类型的检测软件来为该浏览器提供旧的 jQuery 库。如果它没有——而且在大多数情况下不应该——那么提供更新的 jQuery 库。

--edit 2-- 确实这似乎解决了发帖人的问题,嗯?

于 2013-08-09T23:18:26.460 回答