js 键盘监听页面中一个div块儿的左右滚动条,但是必须先鼠标点击一下div才可以监听,怎么解决取消点击 5
写了小例子是可以实现的,项目中元素是动态出来的,而且是iframe引进来的。点击div块儿,浏览器可以自己监听控制滚动条,但是现在想取消点击,进入页面后,键盘左右方向键直...
写了小例子是可以实现的,项目中元素是动态出来的,而且是iframe引进来的。点击div块儿,浏览器可以自己监听控制滚动条,但是现在想取消点击,进入页面后,键盘左右方向键直接控制页面中这个块儿里边的滚动条。求解
展开
1个回答
展开全部
不知道你使用的是什么方式绑定的监听事件。
假如使用 addEventListener,那就使用 removeListener 来移除。
案例如下
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>事件监听与移除</title>
</head>
<body>
<div id="text" style="width:300px;height:300px;background-color:#ccc">
点击按钮注册 click 事件
</div>
<input id="btn1" type="button" value="开始监听事件">
<input id="btn2" type="button" value="移除监听事件">
<script>
var $=function(obj){
return document.querySelector(obj);
}
var n=0;
function textFn(){
this.textContent="点击了" + (++n) + "次";
}
$('#btn1').onclick=function(){
console.log($('#text'));
$('#text').addEventListener('click',textFn);
$('#text').textContent="开始监听 click 事件";
};
$('#btn2').onclick=function(){
n=0;
$('#text').removeEventListener('click',textFn);
$('#text').textContent="移除监听 click 事件,恢复到 " + n + " 次";
};
</script>
</body>
</html>
追问
是用键盘的左右方向键,监听这个div里边的左右滚动条
追答
这个监听移除的道理是一样的,不论你是在什么事件中。
你先声明事件需要是执行的函数,然后在绑定到事件中,如果你使用addEventListener("keydown", function(){
})
这种匿名函数写法尽量避免,否则无法单独移除这个监听事件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询