0

可能ですか?

私のページで私が得た

<body onload="debug()" id="content" onkeydown="checkKey()" >

function checkKey() {
    if ((window.event.keyCode > 9) || (window.event.keyCode < 9)) {
        document.actionForm.saveStatus.value = "Not saved";
    }
}

しかし、セッションデータが最初に保存されていない限り、ユーザーがページに移動して検索フォームを使用して検索を送信したときにこれが発生したくないので、checkkey() の検索ボックスからイベントを除外します。

<input onkeypress="javascript:searchWithEnter('Oversikt','fastsearch')" title="Nummerformat:

PCT/SE2009/123456
PCTSE2009123456
PSE09123456

ITS/SE09/12345
ITSSE0912345
ISE0912345

1234567-8
12345678" type="text" size="40" name="fastsearch">
    <input type="button" value="Sök" onclick="javascript:doSubmitFastSearch('Oversikt','fastsearch')">

body タグから onkeypress を削除し、代わりに個々のコンポーネントから呼び出されるように checkkey() を設定する必要がありますか? あなたは何を提案しますか?

4

1 に答える 1

1

を使用event.stopPropagationして、イベントを停止してバブリングすることができます<body/>

var stop = function(e) {
  e.stopPropagation();
};
var $el = document.getElementsByName("fastsearch")[0];
$el.onkeydown = stop;

ただし、厳密に必要な場合を除き、無謀にイベントを にバインドしないことを検討する必要があります<body/>

于 2012-09-28T07:17:45.653 に答える