【问题标题】:Jquery keypress event applied to part of documentJquery keypress 事件应用于文档的一部分
【发布时间】:2013-09-08 23:19:51
【问题描述】:

我有工作代码来捕捉和处理下面的按键

$(document).keydown(function (e) {
    if ( event.keyCode == 84 ) {
        $('svg > g > g').toggle();
    }
    else if ( event.keyCode == 90 ) {
        $('.zones').toggle();
    }
    else if ( event.keyCode == 70 ) {
        fit($('svg > g'));
    }
    else {
        var x = 1
    }
});

但是,这意味着当我在输入框中输入内容时,会触发这些快捷方式,这是一种不受欢迎的副作用。我尝试修改顶行,使其显示为

$('svg').keydown(function (e) {
    if ( event.keyCode == 84 ) {
        $('svg > g > g').toggle();
    }
    else if ( event.keyCode == 90 ) {
        $('.zones').toggle();
    }
    else if ( event.keyCode == 70 ) {
        fit($('svg > g'));
    }
    else {
        var x = 1
    }
});

但是这不起作用所以我如何实现这种效果。 我曾想过添加一个通过输入输入框和条件语句来修改的变量,但这接缝是一个混乱的解决方案

【问题讨论】:

    标签: jquery events bind keypress


    【解决方案1】:

    您可以检查页面上的任何元素是否有焦点,如果有,则阻止该函数触发。

    http://api.jquery.com/focus/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多