У меня есть следующий HTML-тег textarea, который я вставляю во время выполнения в DOM (я только показал, как он выглядит после того, как он вставлен), и я установил событие onkeypress для запуска в качестве встроенного атрибута. Однако в Firefox я получаю сообщение об ошибке «событие не определено», когда я нажимаю клавишу, которая находится в фокусе.
<textarea rows="3" cols="70" type="text" name="resultsRename" value="" class="redlining_textContent_Dialog_textbox" dojoType="dijit.forms.SimpleTextArea" id="labelText" propercase="false" style="width:auto;" onkeypress="return handleEnterKey(event,doFunc();">
function handleEnterKey(e, func)
{
//alert("hit key handler");
//alert(dojo.toJson(e));
var key = e.keyCode || e.which;
if (key == 13)
{
func();
return false;
}
else
{
return true;
}
}
Я смотрел на тонны помощи, говорящей мне, что я должен ожидать, что параметр объекта события будет доступен для кода js, который я помещаю в атрибут onkeypress, но я продолжаю получать эту ошибку.
Тег textarea не находится внутри пары тегов формы (где-то я видел, что это иногда может быть проблемой, но у меня нет выбора здесь).
Я пробовал использовать функцию handleEnterKey только с параметром e, но это не имеет значения.
Если я изменю атрибут inline на ...
onkeypress="return handleEnterKey(this,doFunc();"
... Я ввожу handleEnterKey с моим параметром e, установленным для объекта textarea. Почему мне не передают объект события? Очевидно, это хорошо работает в IE с его глобальным объектом события.
На моем уме. Помоги мне переполниться стеком ... ты моя единственная надежда!