1

$('#id')。focus()はJQuery1.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

このバグが発生しています:http://bugs.jquery.com/ticket/13363

ハンドラーを実行するためだけにイベントをトリガーする場合は、$('#inp').triggerHandler("focus")代わりにを使用してください。

于 2013-03-18T17:31:40.947 に答える