ランタイムを DOM に挿入する次の textarea HTML タグがあり (挿入後の外観のみを示しています)、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;
}
}
onkeypress
attrに配置した js コードでイベント オブジェクト パラメータを使用できるようにする必要があることを示す多くのヘルプを見てきましたが、このエラーが発生し続けます。
textarea タグは、フォーム タグのペア内にありません (これが問題になる場合があることをどこかで見ましたが、ここでは選択の余地がありません)。
パラメータhandleEnterKey
のみで関数を試しましたが、違いはありません。e
インライン属性を次のように変更すると...
onkeypress="return handleEnterKey(this,doFunc();"
...パラメータを textarea オブジェクトに設定してhandleEnterKe
yを入力します。e
イベント オブジェクトが渡されないのはなぜですか? 明らかに、これはグローバル イベント オブジェクトを使用して IE で正常に動作します。
私の知恵の終わりに。スタックオーバーフローを助けてください...あなたは私の唯一の希望です!