hogehoge @teramako

先日公開した「投稿スラッグ(Post slug)が空白なら警告してくれるWordPress用Greasemonkeyスクリプト」を開発しているときに、JavaScriptでのイベントのキャンセルまわりで見事にハマってしまいました。そのときに調べてわかったことをまとめてみようと思います。(間違いがあれば是非ご指摘ください!) やりたかったこと WordPressの投稿画面で「公開(Publish)」ボタンをクリックしたときに、「投稿スラッグ(Post slug)」のテキストボックスに値が入っていなければ、確認ダイアログを出す。そこで「キャンセル」ボタンが押されたら、フォームの submit を中止する。 最初に思いついた方法 まず頭に浮かんだのは、submit ボタンに対して HTML でイベントハンドラを記述するという、とても古典的な方法でした。
keypress,keyup,keydownイベントの発生パターンを確認するためのページです。 確認したいイベントをチェックし、テキストボックスに入力してください。 Enjoy*StudyさんにcharCodeがなかったので追加しました。 keypress keyup keydown typekeyCodecharCodeinputCharaltKeyctrlKeyshiftKeyvalue
イベントのキーコードの取得には event.keyCode event.charCode の二種類があるんだが、keypressイベントとkeydownイベントとで出方が違うことに気付いた。 keypressとkeydownの表す数値は以下の通り keyCodeにはキーを表す特殊コードを表す数値として出る*1 charCodeにはASCII文字コード表に対応した10進数として出る 以下に幾つか試した結果を書くので参考に。ただ、特殊キーに当たりそうな(ex. windows,無変換, IMEオン時の挙動)ものは環境によって異なりそうなので注意。 keypress ASCII文字コードとして認識できるものはcharCodeに出る そうでないものはkeyCodeに出る IMEオン時にイベントが挙がることは期待できない((keyCodeに229で挙がる時と挙がらない時があった)) 押したキー ch
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く