0

ユーザーenterがキーを押すと、キーを押しているときと同じように動作するはずescです。

function OnEditorKeyPress(editor, e) {
    if (e.htmlEvent.keyCode == 13) {
        e.htmlEvent.keyCode = 27;
        //treeList.CancelEdit();
    }
}

ただし、値13は、e.htmlEvent.keyCode = 27;このステートメントの後も同じままです。新しい値を割り当てる方法、またはこれを行うための他の代替方法はありますか?

4

3 に答える 3

2

イベントオブジェクトのこれらのプロパティは読み取り専用(を含むKeyCode)であるため、そのようなことはできません。なぜあなたはこのようなことをすることができないのですか?

function OnEditorKeyPress(editor, e) {
   //If user press enter or escape
   if (e.htmlEvent.keyCode == 13 || e.htmlEvent.keyCode == 27) // correct comparison operation
   {
      treeList.CancelEdit();
      e.htmlEvent.preventDefault
   }
}

編集:あなたが主張するなら、Mozillaフォーラムでこれを読んでください:キーコードを置き換えるために押されたキーをオーバーライドする必要があります

于 2012-12-03T06:12:44.970 に答える
0

こんにちはこのコードは、「Enter」ボタンのデフォルト機能を停止するのに役立ちます。ただし、ユーザーが「Enter」を押すと、コードを入力して好きなことを行うことができます。ENTERにESC機能を実装することは評価されませんが。

これが実例ですhttp://jsfiddle.net/Z4dgr/11/

<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
function displayunicode(e){
e.preventDefault();
var unicode=e.keyCode? e.keyCode : e.charCode
alert(unicode)
}
</script>
<form>
Enter from keyboard <input type="text" size="2" maxlength="1" onkeypress="displayunicode(event); this.select()" />
</form>
</body>
</html>​
于 2012-12-03T06:10:16.083 に答える
0

トムの答えによると、ここに必要なものがあります。

function OnEditorKeyPress(editor, e) {
   //If user press enter or escape
   if (e.htmlEvent.keyCode == 13 || e.htmlEvent.keyCode = 27) 
   {
      treeList.CancelEdit();
      e.htmlEvent.preventDefault();
   }
}
于 2012-12-03T06:17:44.590 に答える