Выборочное включение ввода ключа в текстовой области HTML (JavaScript) - PullRequest
1 голос
/ 23 августа 2009

Я использую ярлык на openjs.com ( 1 ) отключить клавишу ввода в моих HTML-формах. Тем не менее, внутри 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')});"

Это фактически отключает клавишу ввода.

Я попытался использовать следующий код, чтобы снова включить его для текстовой области:

shortcut.add(\"Enter\", function() { }, {'type':'keydown','propagate':false,
'disable_in_input':false, 'target':document.getElementById('f2') } );  

Но это не работает. Каков порядок распространения этого события? Должен ли он пузыриться вверх от текстовой области или пузыри вниз от элемента формы?

1 Ответ

3 голосов
/ 24 августа 2009

Не похоже, что эта библиотека действительно предназначена для такого использования. Я бы рискнул предположить, что добавление любого ярлыка полностью отключает браузер, независимо от того, что вы делаете потом.

Чего вы на самом деле пытаетесь достичь? Если вы просто хотите запретить отправку формы, вы можете добавить submit прослушиватель событий для всей формы, которая вызывает event.preventDefault().

...