2013-04-13 101 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