2013-04-13 158 views
0

我得到了jQuery的驗證碼 - :觸發的轉變按鍵,當按下Enter鍵時 - Jquery的

$('#postBoxEditor').live("keydown",function(e){ 
if(e.which == 13 && !e.shiftKey){ e.preventDefault(); 
var triggerevent = jQuery.Event("keydown"); triggerevent.which = 16; //shift key code 
$(this).trigger(triggerevent); }    }); 

但在按下時輸入,這是所有這不會觸發shift鍵,按i想。

+1

'.live()'不贊成使用'。對()'代替。 – SachinGutte

+0

你能詳細說明你正在嘗試做什麼嗎?我無法理解目標了嗎? – SachinGutte

回答

1

如果你聽的是有這個事件,如果按下 e.shiftKey是真實物體的魔法可以只發生,所以你需要清除你的「!」

top.addEventListener('keydown', function(e){ 
    if(e.shiftKey) { 
    /* do nice stuff.. */ 
    } 
}, false); 

具有相同的作品: e.altKey; e.ctrlKey; e.metaKey;

你的代碼應該是這樣的:

$('#postBoxEditor').on("keydown",function(e){ 
    if((e.keyCode == 13) && e.shiftKey) { 
     e.preventDefault(); 
    } 
}); 

希望完蛋了! :)

但你想要的是。

<script> 
var enterflag=false; 
var shiftenterflag=false; 
$(document).ready(function() { 
    $('#in').on('keydown',function(e){ 
     if(e.keyCode==13) enterflag=true; 
     if(e.keyCode==16 && enterflag) { 
      shiftenterflag=true; 
      $('#report').show(); 
     } 
    }); 
    $('#in').on('keyup',function(e){ 
     if(e.keyCode==16 && enterflag) $('#report').hide(); 
     if(e.keyCode==13) { 
      enterflag=false; 
      shiftenterflag=false; 
     }     
    }); 
}); 
</script> 
<label>press enter and shift while focus in input to show the magic</label> 
<input type="text" id="in" value="press enter and shift" style="with:200px" /> 
<div id="report" style="display:none">test</div> 

這觸發輸入+移但不移位+輸入

+0

如果你想在輸入按下後觸發移位,你需要將輸入觸發器保存在var –

+0

現在如何將輸入觸發器保存在var ....我需要的是,當按下輸入時,它應該觸發一個enter + shift鍵。 – sanchitkhanna26