如何实现mouseover延时激发

猩猩昵称被占用 2015-04-14 06:31:51
题目估计描述不太准确,我也不太知道该怎么描述,需求大概如此:
当鼠标不小心移到了某一元素上,如果时间很短,不激发事件,当鼠标在该元素上停留了一定时间,例如一秒,才激发该事件。

求各位大神,该如何实现
...全文
332 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010093435 2015-04-16
  • 打赏
  • 举报
回复
settimeout计个累加数,或者回调MouseOver事件。
  • 打赏
  • 举报
回复
引用 4 楼 z22708387 的回复:
你为什么不做mouseup呢? 既然你这样的需求的话,何必要用mouseover?这样不是多此一举吗?
似乎你没搞懂我的需求。。。我都没有mousedown。。。
  • 打赏
  • 举报
回复
引用 2 楼 ShenShiampMoYi 的回复:
有一个想法 mouseover时计时 mouseout时 计算时间 如大于1秒 执行计时器settimeout()否则 使用 clearTimeout() 终止计时器 计算时间的话 以 mouseover为原点 用cookie 或者隐藏控件 保存时间 mouseout 比较就好
基本思路差不多,不过没那么复杂
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:

<div id="tt">xxxxxxxxxxxxxxxxxxxx</div>
<script type="text/javascript">
var tio;
document.getElementById("tt").onmouseover = function(){
	tio = setTimeout(function (){
		alert("停留了一秒");
	},1000);
}
document.getElementById("tt").onmouseout = function(){
	clearTimeout(tio);
}
</script>

是我要的答案,感谢
  • 打赏
  • 举报
回复
有一个想法 mouseover时计时 mouseout时 计算时间 如大于1秒 执行计时器settimeout()否则 使用 clearTimeout() 终止计时器 计算时间的话 以 mouseover为原点 用cookie 或者隐藏控件 保存时间 mouseout 比较就好
z22708387 2015-04-15
  • 打赏
  • 举报
回复
你为什么不做mouseup呢? 既然你这样的需求的话,何必要用mouseover?这样不是多此一举吗?
天际的海浪 2015-04-14
  • 打赏
  • 举报
回复

<div id="tt">xxxxxxxxxxxxxxxxxxxx</div>
<script type="text/javascript">
var tio;
document.getElementById("tt").onmouseover = function(){
	tio = setTimeout(function (){
		alert("停留了一秒");
	},1000);
}
document.getElementById("tt").onmouseout = function(){
	clearTimeout(tio);
}
</script>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧