jQuery.关于不工作

jQuery .on not working

我根据 this 建议编写了以下代码。

if (window.jQuery) {
  jQuery("document").on('mouseenter', 'div', function(event) {
    alert(jQuery(this).text());
  });
  alert("ok");
} else {
  alert("no!")
}
<body>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
  <div>aaa</div>
</body>

为什么没有出现警告框?

您的页面中没有 $("document")(我的意思是 <document>)元素,但是有一个 document DOM objectMDN Docs)因此您需要:

$(document)

without the ""

另外,最好将 <script> 标签放在 之前 结束 </body> 标签:

<!-- SCRIPT GOES (ideally) HERE -->
</body>

另一个放置 script 标签的地方是 <head>。只是不要像在页面中间那样在你的 HTML 中混合使用它...... - 否则它会暂停文档解析并充当渲染阻塞(因为 JS 引擎将启动试图查看什么你想要的)。

问题是 - jQuery("document")。你不能有带引号的文档。

试试这个 -

if (window.jQuery) {
$(document).on('mouseenter','div',function(event){alert(jQuery(this).text());});
alert("ok");
}
else {alert("no!")}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
<div>aaa</div>
</body>