私のサイトでは以下のスクリプトを使用しています。サイト上にフォームがあり、そのフォーム内でユーザーが「入力」を押すと、別のボックスにフォーカスを設定する必要があります。.onkeypressはクロムとサファリでは機能しません
スクリプトはIEとFFで完全に動作しますが、サファリやクロムでは機能しません。私はもともと2つのブラウザがenterキーのIDが違うが、 "alert(evt.keyCode);" .onkeypressが2つのブラウザで動作しないように見えることを意味するアラートを生成しません。これをどうやって解決するのですか?
var WebPartElementID ="ctl00_ctl34_g_db6615a7_4c3b_4a14_9bbc_43ce9d63c24d_FormControl0";
var WebPartData = document.getElementById(WebPartElementID);
WebPartData.onkeypress = stopRKey;
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
alert(evt.keyCode);
if ((evt.keyCode == 13)) { document.getElementById("ctl00_ctl34_g_db6615a7_4c3b_4a14_9bbc_43ce9d63c24d_FormControl0_V1_I1_R1_I1_T4").focus(); return false; }
}
ありがとうございます、キーアップが機能しませんでした。 keydownは動作します。しかし、ffではパーミッションエラーが発生しますか? broswerが実行しているものをキャッチし、それに応じて適切な関数を使用する方法はありますか? –
jsfiddleまたはcodepenを作成できますか?このようにして、テストしているコードとまったく同じコードを試してみることができます。 – seahorsepip
ありがとう、私はそれを考え出した。それはfirefox上のkeyupのようにもユーザーがアクセス権を持っていない編集ページをトリガするようです。マスターページでこれを止めるためのイベントを追加しました。 –