在HTML textarea(javascript)中有选择地启用enter键

时间:2009-08-23 19:57:58

标签: javascript html textarea shortcut

我正在使用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冒出来还是从表单元素向下冒泡?

1 个答案:

答案 0 :(得分:3)

看起来这个库真的不是这样用的。我猜想添加任何快捷方式会禁止浏览器完全处理它,无论你以后做什么。

你到底想要完成什么?如果您只想阻止提交表单,可以为调用event listener的整个表单添加submit event.preventDefault()