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叉,用于该实现。我不理解问题,我实际上想阻止在回车时滚动,当你用箭头键向上滚动然后按回车键时,它会跳转,这就解决了跳转问题。