Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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 preventDefault输入键事件而不阻止滚动_Javascript_Dom_Scroll_Dom Events_Keydown - Fatal编程技术网

Javascript preventDefault输入键事件而不阻止滚动

Javascript preventDefault输入键事件而不阻止滚动,javascript,dom,scroll,dom-events,keydown,Javascript,Dom,Scroll,Dom Events,Keydown,我想阻止除滚动之外的默认操作。当我在keyDown事件(回车键)中添加e.preventDefault时,它也会阻止浏览器滚动。我想阻止除滚动以外的回车键操作。有没有办法区分enter键事件和scroll?或者我们可以部分阻止滚动应该工作的默认操作,而阻止其他操作。任何帮助都将不胜感激 document.getElementById('textBox').addEventListener("keydown", function(event) { // Number 13 is the "

我想阻止除滚动之外的默认操作。当我在
keyDown
事件(回车键)中添加
e.preventDefault
时,它也会阻止浏览器滚动。我想阻止除滚动以外的回车键操作。有没有办法区分enter键事件和scroll?或者我们可以部分阻止滚动应该工作的默认操作,而阻止其他操作。任何帮助都将不胜感激

document.getElementById('textBox').addEventListener("keydown", function(event) {
    // Number 13 is the "Enter" key on the keyboard
        if (event.keyCode === 13) {
            // Cancel the default action, if needed
            event.preventDefault();
        }
    });
我在enter操作中添加了
preventDefault
。出于某种原因,我必须将这一行添加到代码中,但这也会阻止我的页面滚动。
我想保留
preventDefault
,但我的页面应该滚动。有什么方法可以做到这一点吗?

只要在触发事件时在textarea中添加新行即可

document.getElementById('textBox').addEventListener(“keydown”),函数(事件){
//数字13是键盘上的“回车”键
如果(event.keyCode===13){
var cursor=this.selectionEnd;
this.value=this.value.substring(0,游标)+'\n'+
此.value.substring(游标);
this.selectionEnd=光标+1;
event.preventDefault();
}
});

你能提供一把小提琴吗?你也能添加你的HTML吗?滚动是什么意思?按enter键不应滚动页面。您甚至不能在焦点指向
时使用箭头键滚动页面。FIDLE链接:@josephting按enter键必须滚动我的页面,但应阻止enter上的所有其他默认操作。我有一个ContentEditable DIv,而不是textArea。@Shrads我已在注释中添加了一个FIDLE叉,用于该实现。我不理解问题,我实际上想阻止在回车时滚动,当你用箭头键向上滚动然后按回车键时,它会跳转,这就解决了跳转问题。