jqueryにkeypress関数があることに気づきました。しかし、それは数字と文字のキープレスイベントしか検出できないようです。F5キー押下イベントを検出できません。そして、私が最も驚いたのは、オンラインの誰もがF5のkeyCodeは116だと言っていますが、jquery keypress関数を使用すると、文字tのkeyCodeが116であることを示しています(116は小文字のASCIIコードのようです) t)!誰かがこれについて、そしてjavascriptまたはjqueryでF5イベントを検出する方法について何かアイデアを教えてもらえますか?よろしくお願いします。
質問する
14408 次
3 に答える
5
あなたがあなたのコードで何を間違えたのかはわかりませんが、jQueryはそう言っF5
て116
いt
ます84
:
考えられるエラーの1つは、keypress
異なることです。keycode
そのため、keydown
より推奨されます。
| T | A | F5
keydown | 86 | 65 | 116
keypress| 116 | 97 | -
また、リロード部分はの前に発生するため、を押しF5
てもトリガーされません。keypress
keypress
于 2012-12-14T04:59:53.030 に答える
4
keypressイベントは、ファンクションキー(F1〜F12)を受け入れません。キーダウンイベントの使用を試みることができます。
于 2012-12-14T05:00:17.833 に答える
1
このコードは私にとって
はうまくいきます
私はそれをクロームとファイアフォックスでうまくテストしました
<script>
document.onkeydown = capturekey;
document.onkeypress = capturekey;
document.onkeyup = capturekey;
function capturekey(e) {
e = e || window.event;
//debugger
if (e.code == 'F5') {
if (confirm('do u wanna to refresh??')) {
//allow to refresh
}
else {
//avoid from refresh
e.preventDefault()
e.stopPropagation()
}
}
}
</script>
于 2019-12-15T08:30:38.567 に答える