Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-如何仅禁用空格键滚动,但允许其他空格键功能?_Javascript_Scroll - Fatal编程技术网

Javascript JS-如何仅禁用空格键滚动,但允许其他空格键功能?

Javascript JS-如何仅禁用空格键滚动,但允许其他空格键功能?,javascript,scroll,Javascript,Scroll,我有一个网站,它有常规的空格键功能,而不仅仅是在输入框中,所以如果目标是身体,我不能让它返回false。我只是想阻止它向下滚动页面,但允许其他功能。是否可以使用vanilla JS实现这一点?这是我的密码: //这里还有许多其他函数 函数空格键(){ window.onkeydown=函数(e){ 如果((watch.isOn)&&(!done)){//u可以用任何键停止它 watch.freeze();//停止秒表 } 否则如果(e.keyCode==32){ 如果(完成){ watch.s

我有一个网站,它有常规的空格键功能,而不仅仅是在输入框中,所以如果目标是身体,我不能让它返回false。我只是想阻止它向下滚动页面,但允许其他功能。是否可以使用vanilla JS实现这一点?这是我的密码:

//这里还有许多其他函数
函数空格键(){
window.onkeydown=函数(e){
如果((watch.isOn)&&(!done)){//u可以用任何键停止它
watch.freeze();//停止秒表
}
否则如果(e.keyCode==32){
如果(完成){
watch.start();//启动秒表
阶段=1;
}
如果(阶段===0){
阶段=1;
}
}
}

0:00.000

按空格键的默认行为是滚动。我们可以使用

event.preventDefault();


您正在使用window.onkeydown,将事件参数作为var e传递。正如您所演示的,您知道如何通过keycode识别键。现在,如果按下的键是空格键,则阻止默认行为(在本例中包括滚动)你可以选择定义你自己的行为。

这是更适合评论,因为它不能提供关于OP问题的完整答案。考虑更新它如何解决这个问题的细节。你能解释一下“超载空格键事件”是什么意思吗?也可以把你的代码放进底盘(?)更好。你能解释一下我把这段代码放在哪里吗?你的代码包括onkeydown事件处理。我假设你知道它是如何工作的,而不是从某个地方复制和粘贴它。如果e.keyCode是空格键代码,请应用e.preventDefault()。哦,好的。所以如果按下空格键,我只需要这样做。谢谢!