JS如何监听多个事件?

啊啊啊aaaaa 2015-04-09 11:34:55
var user=false;
var time=false;
document.addEventListener('mousemove',function(){
user=true;
})
setTimeout(function(){
time=true;
},5000)
function action(){
//
}
我希望一旦同时满足 user=true和time=true的时候 就出发action这个函数
请问我要如何监听这2个条件同时满足?
...全文
804 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
forwardNow 2015-04-10
  • 打赏
  • 举报
回复

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script type="text/javascript">
    
    // 鼠标移动后开始计时,5秒后执行action

    var timer = 5;
    var isExecuting = false;

    document.addEventListener( "mousemove", function () {
        if ( isExecuting ) return;
        isExecuting = true;
        setTimeout( action, timer * 1000 );
    } );


    function action(){
        alert("do action()!");
    }

</script>
</body>
</html>
Go 旅城通票 2015-04-10
  • 打赏
  • 举报
回复
document.addEventListener('mousemove',function(){ user=true; if(time)action() })
姜小白- 2015-04-09
  • 打赏
  • 举报
回复
事件流分冒泡和捕获型两种,都是一个一个触发的。所以想同时满足两个事件属性,找找它们的事件码,看能否同时取到。
天际的海浪 2015-04-09
  • 打赏
  • 举报
回复

setTimeout(function(){
	document.addEventListener('mousemove',function(){
		action();
	})
},5000)
function action(){
//
}

chenyang37 2015-04-09
  • 打赏
  • 举报
回复

var user=false;
var time=false;
document.addEventListener('mousemove',function(){
user=true;
action();
})
setTimeout(function(){
time=true;
action();
},5000)
function action(){
if(user && time){
//代码
}
}

87,910

社区成员

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

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