我正在使用openjs.com的快捷方式处理(1) 在我的html表单中禁用enter键。但是,在那些形式的 textareas 里面,我想输入密钥来发出正常的CR-LF对(因为这是用户期望的)。
目前假设我有一个表单/输入结构如下:
<form id="f1">
<fieldset>
<input>
<textarea id="f2"> ...
运行以下脚本:
shortcut.add('Return', function () { /*empty*/ },
{ 'type':'keydown', 'disable_in_input':false,'propagate':true,
'target':document.getElementById('f1')});"
这有效地禁用了回车键。
我尝试使用以下代码为textarea重新启用它:
shortcut.add(\"Enter\", function() { }, {'type':'keydown','propagate':false,
'disable_in_input':false, 'target':document.getElementById('f2') } );
但这不起作用。这个事件的传播顺序是什么?它应该从textarea冒出来还是从表单元素向下冒泡?
答案 0 :(得分:3)
看起来这个库真的不是这样用的。我猜想添加任何快捷方式会禁止浏览器完全处理它,无论你以后做什么。
你到底想要完成什么?如果您只想阻止提交表单,可以为调用event listener的整个表单添加submit
event.preventDefault()
。