我在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); } });
但按下输入时,这不会触发换档键,这就是我想要的。
答案 0 :(得分:1)
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