2016-08-26 17 views
0

OK私は混乱しています。うまくいけば、誰かが私に何が欠けているか教えてください。jQueryセレクタと動的コンテンツ

は、私が上のイベントやクラス名をクリックして聞くために使用していたクラスがあります.actionパネルボタンを

私は2つを使用している場合、私はjQueryのための単一のセレクタラインを取得しようとしていますが、それだけで働いています異なるもの:

私は、セレクタのためにこれを使用して火災のリンクがあります。上記の

// Only fires for content loaded initially with the page, 
// not on dynamic content 
$('.action-panel-button').on('click', function() { 
    console.log(a link fired); 
}); 

は、動的に追加されたコンテンツでは動作しません。だから私はそれを更新しました:

// Only fires for content loaded dynamically via ajax, 
// not on content originally loaded with the page 
$(document).on('click', '.action-panel-button', function() { 
    console.log(a link fired); 
}); 

私は2つ目の両方で動作するはずだと思いました。私は何が欠けていますか?

+0

もう一つは、あなたがすべてのエラーを取得している動作するはず? – guradio

+0

動的に追加されたリンクに 'action-panel-button'クラスが追加されていることを確認し、使用しているjqueryのバージョンをお知らせください。 –

+0

申し訳ありませんが、私は最後にはっきりしていませんでしたが、2番目(下位)のオプションを使用して動的コンテンツのクリックが発生しましたが、そのページを使用すると、ページの最初の読み込み時に上のリンクが機能しません。 私はjquery-2.1.10を使用しています。 – Solvision

答えて

0

これは、デフォルトのコンテンツと動的に追加されたコンテンツの両方でうまくいきます。これが役立つかもしれません。

$("body").delegate("p", "click", function() { 
 
    $(this).after("<p>Another paragraph!</p>"); 
 
});
p { 
 
    background: yellow; 
 
    font-weight: bold; 
 
    cursor: pointer; 
 
    padding: 5px; 
 
    } 
 
    p.over { 
 
    background: #ccc; 
 
    } 
 
    span { 
 
    color: red; 
 
    }
<script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
 
<p>Click me!</p> 
 
<span></span> 
 

関連する問題