-1

いくつかのフォーム フィールドを含むページがあります。1 つのフィールド内をクリックすると、関数をトリガーする必要があります。だから私は試しました:

$('#myInput').focus(function() {
    alert('fired');
});

しかし、うまくいきませんでした。最初のページの読み込み後に動的にページに追加される方法が原因だと思います。この関数を他のフィールドにアタッチしてみましたが、問題なく動作します。

だから、私は試しました

$(document).delegate('#myInput', 'click', function() {

$('#myInput').live('focus', function() {

そしてまだ運がありません。助言がありますか?ありがとう。

アップデート - - - - - - - - - -

理由はまだわかりませんが、

$('input[name="myInput"]').focus(function() {

働きました。

4

2 に答える 2

1

問題は、JavaScript が最初に実行されたときに存在する場合に$('#myInput').focus(...);のみ、これを追加することです。'#myInput'

'#myInput'JavaScript のロード後に動的に追加する場合は、JavaScript でリスナーを動的に追加する必要があります。

以下はこれを行います:

Javascript

$('body').on('focus', '#myInput', function() {
    alert('fired');
});

デモ

ドキュメンテーション

于 2012-11-26T23:42:58.330 に答える
0

フォーカスインで試してください。多分うまくいくでしょう。

于 2012-11-26T23:13:40.883 に答える