1

$('#id').focus() 在 JQuery 1.9.1 中似乎没有触发。

这个小提琴(http://jsfiddle.net/qnLVR/12/)在以前版本的 JQuery 中工作,但在 1.9.1 中中断。您可以通过更改 JSFiddle 中的 JQuery 版本并重新运行脚本来看到这一点。

手动聚焦输入将触发事件,但调用 .focus() 不会。知道为什么会这样吗?

这是我的标记:

<input type="text" id="inp"> </input>
<button id='button'>Is Focused?</button>

这是我的 JavaScript:

var focused = false;

$('#inp').focus(function() {
  focused = 'true';  
})

$('#inp').focus();
$('#button').click(function() {alert(focused)});

我正在使用 Firefox,它似乎可以在 Chrome/IE9 中使用

4

1 回答 1

2

You're running into this bug: http://bugs.jquery.com/ticket/13363

If you're triggering the event just to make the handlers run, use $('#inp').triggerHandler("focus") instead.

于 2013-03-18T17:31:40.947 回答