2009-08-23 35 views
1

我使用openjs.com的快捷处理(1) 禁用在我的HTML表单的输入键回车键。然而,文字区域在我要回车键发出正常的CR-LF对(因为这是用户所期望的),这些表单内。选择性地启用在HTML文本区域(JavaScript)的

目前,假设我有一个表格/输入结构如下:

<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冒泡还是从表单元素中冒泡?

回答

3

它看起来并不像这个库真的意味着要使用这种方式。我会冒险猜测,添加任何快捷方式都会禁止浏览器完全处理它,无论你事后做了什么。

什么是你真正想实现什么?如果您只是想阻止提交表单,则可以为调用event.preventDefault()的整个表单添加一个submitevent listener