输入[type = text]时使用jquery.hotkeys触发焦点= false

时间:2014-08-05 21:34:32

标签: javascript jquery

http://liveweave.com/tq7rwk

无论如何动态取消聚焦(focus = false)文本框或textarea元素?

我尝试触发.blur.focusut,但这些仅在重点突出时适用。它不会引发聚焦事件。

非常感谢任何帮助。

$(document).bind('keydown', 'ctrl+1', function() {
  alert("hotkey triggered");
  if ( $(".txtbox").is(":focus") ) {
    $(".txtbox").trigger('focusout');
  }
});

2 个答案:

答案 0 :(得分:0)

只需使用:

$('.txtbox').blur();

设置焦点用途:.focus()

或检测keyCode:

$('input').on('keydown', function(e) {
    if(e.ctrlKey && e.keyCode == 81) { // if Ctrl+Q (dont use Ctrl+1, in chrome its jump to tab 1)
        $(this).blur();
    }
});

<强> http://jsfiddle.net/99SP4/2/

答案 1 :(得分:0)

我必须shortcut.js使用Binny V A Javascript库。

这个库有什么好处,你可以使用像 CTRL + T 这样的组合键(在大多数网页浏览器中都是一个原生热键来创建一个新的标签。这个脚本将允许您可以使用自定义热键功能,而不会调用浏览器的自定义热键。

shortcut.add("Ctrl+N", function() {
  alert("Called new document");
});

以下是新修订的小提琴:http://liveweave.com/GWjbUc