为什么这是按元素工作的?
<script>
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>
如果你点击每一个,它就会消失。
但是如果我用鼠标悬停来编码......
<script>
$(document).ready(function(){
$("p").hover(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>
他们一起消失了。有什么区别?
最佳答案
这是因为当您将鼠标悬停在第一个 <p>
上方时元素,它消失了,因此第二个 <p>
元素向上移动以取代它的位置 - 这个过程重复直到所有 <p>
元素被隐藏起来,因为您的鼠标将始终悬停在它们上方。
关于javascript - 为什么 $(this) 在点击时正确调用但在悬停时不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18947239/