Writing /volume1/Web/Public/dokuwiki/data/log/deprecated/2024-11-15.log failed

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
study:javascript:dojo:prevent_paste [2009/07/08 02:24] bananastudy: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>prevent paste operation textfield javascript Ctrl+V event.keycode}}
 +
 +===== code snippet =====
 +<code javascript>
 +<script type="text/javascript">
 +<!--
 +    function onKeypress(e) {
 + var keycode = (e.which)? e.which:event.keyCode;    
 + if (e) { // Mozilla(Firefox, NN) and Opera
 +     ctrl    = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & event.CONTROL_MASK;
 + } else { // Internet Explorer 
 +     ctrl    = event.ctrlKey;     
 +
 +      
 + // キーコードの文字を取得 
 + keychar = String.fromCharCode(keycode).toUpperCase(); 
 +
 +        if (ctrl) { 
 +     if (keychar == "V") { 
 +         alert("貼り付け禁止!!");
 +                // イベントの上位伝播を防止
 +                if(e){
 +                   e.preventDefault(); 
 +            e.stopPropagation(); 
 +                }else{      
 +                   event.returnValue = false; 
 +            event.cancelBubble = true;
 +                }  
 +     } 
 + }
 +        
 +}
 +dojo.addOnLoad(function(){
 + dojo.connect(dojo.byId("confirmPass"),"keypress", function(e){ onKeypress(e);});
 +});
 +//-->
 +</script>
 +
 +</code>
  
 ===== Test page ===== ===== Test page =====
行 10: 行 49:
 <!-- <!--
     function onKeypress(e) {     function onKeypress(e) {
-      +        var keycode = (e.which)? e.which:event.keyCode; 
- if (e != null) { //Firefox, NN + if (e) { // Mozilla(Firefox, NN) and Opera 
-     keycode = e.charCode;  +     ctrl    = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & event.CONTROL_MASK; 
-     ctrl    = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & Event.CONTROL_MASK;  + } else { // Internet Explorer  
-     // イベントの上位伝播を防止  +     ctrl    = event.ctrlKey;     
-     e.preventDefault();  +
-     e.stopPropagation();  +
-     // Internet Explorer  +
- } else {  +
-     keycode = event.keyCode;  +
-     ctrl    = event.ctrlKey;  +
-            // イベントの上位伝播を防止  +
-     //event.returnValue = false;  +
-     event.cancelBubble = true; +
  
              
行 32: 行 62:
      if (keychar == "V") {       if (keychar == "V") { 
          alert("貼り付け禁止!!");          alert("貼り付け禁止!!");
-event.returnValue = false;+                // イベントの上位伝播を防止 
 +                if(e){ 
 +                   e.preventDefault();  
 +            e.stopPropagation();  
 +                }else{       
 +                   event.returnValue = false;  
 +            event.cancelBubble = true; 
 +                }  
      }       } 
  }  }
行 55: 行 92:
  
 ===== reference ===== ===== reference =====
-  - [[http://programming-magic.com/file.php?id=61]] : 各ブラウザのキーに対するキーコード表 +  - [[http://programming-magic.com/file.php?id=61|各ブラウザのキーに対するキーコード表]] 
-  - [[http://javascriptist.net/docs/pract_keyboard_event.html]] : クロスブラウザでの%%JavaScript%%キーボードイベントの扱い方 +  - [[http://javascriptist.net/docs/pract_keyboard_event.html|クロスブラウザでのJavaScriptキーボードイベントの扱い方]] 
  
  
  

QR Code
QR Code study:javascript:dojo:prevent_paste (generated for current page)