JavaScript-仅在特定时间后触发事件mouseenter,

时间:2015-07-28 11:35:59

标签: jquery javascript-events mouseenter

我必须调用一个函数,该函数由特定元素上的mouseenter事件触发。 只有当鼠标在特定元素上“站立”超过5秒时,如何才能触发mouseenter事件?

1 个答案:

答案 0 :(得分:2)

您可以使用计时器(setTimeout())在5秒后安排一个函数,如果鼠标在此之前离开,那么我们可以清除计时器,以便不会调用它。

var timer;
$('#me').hover(function() {
  timer = setTimeout(function() {
    snippet.log('called after 5000')
  }, 5000);
}, function() {
  //if leaves early then clear the timer
  clearTimeout(timer);
})
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Some text
<div id="me">hover me for more time</div>
more content