当按下回车键时触发一个shift键按下 - Jquery

时间:2013-04-13 09:10:18

标签: jquery keydown

我在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); }             });

但按下输入时,这不会触发换档键,这就是我想要的。

1 个答案:

答案 0 :(得分: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>

这会触发输入+ shift而不是shift + enter

相关问题