2009-08-23 65 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