使用上述代码时," mouseenter"和" mouseleave"在开始时被解雇一次。 " OnMouseEnter在"和" onmouseleave"在预期时被解雇。我如何制作" mouseenter"和" mouseleave"预计会发火?
2483 2484 2485 2486
FG1 1500 1580 1660 1740
答案 0 :(得分:2)
事件监听器接受一个函数,它将在事件发生时触发。此刻,您立即呼叫console.log
,而不是等待事件发生。如果将控制台日志放在函数中,则不会发生这种情况。
banner.addEventListener("mouseenter", function() {
console.log("mouseenter");
});
banner.addEventListener("mouseleave", function() {
console.log("mouseleave");
});
另一方面,这是我本周第二次看到setAttribute
与onclick
一起使用。我建议不要使用该方法并坚持使用addEventListener
。
答案 1 :(得分:0)
我如何制作" mouseenter"和" mouseleave"预计会发火?
addEventListener
期待函数作为回调处理程序而不是函数调用的结果(即console.log
)您需要将它们包装起来在function
banner.addEventListener("mouseenter", function(){ console.log("mouseenter") });
banner.addEventListener("mouseleave", function(){ console.log("mouseleave") });