Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
study:javascript:dojo:prevent_paste [2009/07/08 02:27] – banana | study:javascript:dojo:prevent_paste [2010/03/19 15:15] (現在) – banana | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== Prevent paste operation in text-field | + | ====== Prevent paste operation in textfield |
ユーザー登録画面とかでパスワードとかメールの確認の貼り付け(Ctrl+V)を防止したい時があると思う。\\ | ユーザー登録画面とかでパスワードとかメールの確認の貼り付け(Ctrl+V)を防止したい時があると思う。\\ | ||
今回はその場面で役立つようなjavascriptコードを紹介する。 | 今回はその場面で役立つようなjavascriptコードを紹介する。 | ||
+ | {{keywords> | ||
+ | |||
+ | ===== code snippet ===== | ||
+ | <code javascript> | ||
+ | <script type=" | ||
+ | <!-- | ||
+ | function onKeypress(e) { | ||
+ | var keycode = (e.which)? e.which: | ||
+ | if (e) { // Mozilla(Firefox, | ||
+ | ctrl = typeof e.modifiers == ' | ||
+ | } else { // Internet Explorer | ||
+ | ctrl = event.ctrlKey; | ||
+ | } | ||
+ | |||
+ | // キーコードの文字を取得 | ||
+ | keychar = String.fromCharCode(keycode).toUpperCase(); | ||
+ | |||
+ | if (ctrl) { | ||
+ | if (keychar == " | ||
+ | alert(" | ||
+ | // イベントの上位伝播を防止 | ||
+ | if(e){ | ||
+ | | ||
+ | | ||
+ | }else{ | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | dojo.addOnLoad(function(){ | ||
+ | dojo.connect(dojo.byId(" | ||
+ | }); | ||
+ | //--> | ||
+ | </ | ||
+ | |||
+ | </ | ||
===== Test page ===== | ===== Test page ===== | ||
行 10: | 行 49: | ||
<!-- | <!-- | ||
function onKeypress(e) { | function onKeypress(e) { | ||
- | | + | var keycode = (e.which)? e.which: |
- | if (e != null) { //Firefox, NN | + | if (e) { // Mozilla(Firefox, NN) and Opera |
- | keycode = e.charCode; | + | ctrl = typeof e.modifiers == ' |
- | ctrl = typeof e.modifiers == ' | + | |
- | // イベントの上位伝播を防止 | + | |
- | // | + | |
- | // | + | |
- | | + | |
} else { // Internet Explorer | } else { // Internet Explorer | ||
- | | + | ctrl = event.ctrlKey; |
- | | + | |
- | // イベントの上位伝播を防止 | + | |
- | | + | |
- | // | + | |
} | } | ||
行 32: | 行 62: | ||
if (keychar == " | if (keychar == " | ||
alert(" | alert(" | ||
- | e.preventDefault(); | + | // イベントの上位伝播を防止 |
- | e.stopPropagation(); | + | if(e){ |
+ | e.preventDefault(); | ||
+ | e.stopPropagation(); | ||
+ | }else{ | ||
+ | | ||
+ | | ||
+ | } | ||
} | } | ||
} | } | ||
行 56: | 行 92: | ||
===== reference ===== | ===== reference ===== | ||
- | - [[http:// | + | - [[http:// |
- | - [[http:// | + | - [[http:// |