【问题标题】:jQuery: trigger event on tab keyjQuery:在tab键上触发事件
【发布时间】:2014-04-16 14:11:23
【问题描述】:

我想在带有name="notes" 的任何字段中按下制表键时调用一个函数。

我尝试了以下方法,但这并没有触发(使用 IE 9)。我必须在此处进行哪些更改才能至少在 IE 8 和 IE 9 中进行这项工作?

$('input[name=notes]').keypress(function(e) {
    var code = e.keyCode || e.which;
    if (code === 9) {  
        e.preventDefault();
        myFunction();
    }
});

【问题讨论】:

  • 您发布的代码块没有任何问题。你检查过控制台是否有错误?
  • 谢谢。它看起来像它是浏览器。它在 Firefox 中运行良好,但在 IE9 和 Chrome 中运行良好。
  • myFunction 只是我想用它调用的一个小的 JS 函数。这不是问题,因为它根本不会触发,甚至不会在 IE 中提醒任何东西。

标签: javascript jquery tabs keypress keydown


【解决方案1】:

我认为问题在于您尝试收听的事件类型。 keypress 事件在字符被写入输入文本时触发,而 tab 键不插入任何字符。它只是模糊了输入。阅读更多here

您可能正在寻找 keydown 事件。

看看this fiddle。对您开始有帮助吗?

JS

$('input[name=notes]').keydown(function(e) {
    var code = e.keyCode || e.which;

    if (code === 9) {  
        e.preventDefault();
        myFunction();
        alert('it works!');
    }
});

【讨论】:

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