1

ユーザーが画像をアップロードしたら、ページに削除ボタンを動的に追加します。

$('.galleryImage .delete').bind('click', function() {

//do delete

}

上記は機能しません。

私が理解しているように、それは削除ボタンが作成後にページに追加されるためです。

私はもう試した

$('body').on('click', '.galleryImage .delete', function() {

しかし、これはjquery 1.7以降でのみ機能し、1.6を使用する必要があります。

これを機能させる方法はありますか?

4

3 に答える 3

1

jQuery 1.6で使用したいので、.delegate()イベント処理を使用できます。

$('.galleryImage').delegate('.delete', 'click', function() {

しかし、jquery1.7を使用する方が良いでしょう

および.on()イベントハンドラー

$('.galleryImage').on('click', '.delete',function() {

コメントによると

.galleryImageが動的に追加される場合は、のStatic-elementコンテナを使用する必要.galleryImageがあります。つまり、コンテナは動的であってはなりません。

于 2012-06-13T10:48:40.963 に答える
1

使用delegate()

$('.galleryImage').delegate('.delete', 'click', function() {
    //do delete
}

またはon()、jQuery 1.7以降を使用している場合は、委任されたセレクターで使用します。

$('.galleryImage').on('click', '.delete', function() {
    //do delete
}

要素も動的に追加される場合は.galleryImage、最も近い非動的要素に関連するセレクターを使用する必要があります。

使用しないでくださいlive()それは遅く、時代遅れで、非推奨です。

于 2012-06-13T10:49:55.120 に答える
0

on使用delegateまたはlive方法の代わりに

http://api.jquery.com/live/
http://api.jquery.com/delegate/

于 2012-06-13T10:49:38.800 に答える