如何仅在输入字段外检测键Ctrl + End?

时间:2015-12-24 10:16:24

标签: javascript jquery

如何仅在输入字段外检测密钥Ctrl+End

当我按Ctrl+End时,它会提醒foo

当我点击输入字段并按Ctrl+End时,我不想提醒,我该怎么办?

http://jsfiddle.net/C7PZB/39/

$(function() {
    $(document).on('keyup keydown keypress', function(event) {
        console.log(event);
        if(event.keyCode== 35 && event.ctrlKey) {
            alert('foo');
        }
    });
});

2 个答案:

答案 0 :(得分:1)

使用.not("input")

$(function() {
        $(document).not("input").on('keyup keydown keypress', function(event) {
            console.log(event);
            if(event.keyCode== 35 && event.ctrlKey) {
                alert('foo');
            }
        });
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">

但请记住End上没有MAC键:P

答案 1 :(得分:0)

您可以使用.is(':input')检查元素是否输入,如下所示。希望这会对你有所帮助。

$(document).on('keyup', function(event) {
    if(!$(event.target).is(':input')){
       if(event.keyCode== 35 && event.ctrlKey) {
           alert('foo');
       }
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text"/>

FIDDLE