0

要素が作成されるたびにハンドラーを作成するためにこれを行ってきました(もちろん、rhは毎回異なります):

$('#'+rh).on('click', function (e) {...

rhそのクラスでその後作成されるすべての要素に適用されるクラスのハンドラーを 1 つだけ作成しようとしました。私はこれを試しましたが、うまくいきませんでした:

$('.rh').on('click', function (e) {...

私は何を間違っていますか?遡及効果があると思いonました(そして api.jQuery.com サイトはダウンしています)。

4

1 に答える 1

4

イベントの代表団に行くべきです。それらを動的に作成しているため、イベントの委任 (別名、ライブ イベント) が必要です。

$('#container').on('click', '.rh', function (e) {...

これ#containerは、ページの読み込み時に DOM に属する、作成された要素の親です。あなたは何か他のものを持っているかもしれません。

についてもっと読む.on()

と呼ばれる別のオプションがあります.delegate()

$('#container').delegate('.rh', 'click', function (e) {...

私は行き.on()ます。

于 2012-06-02T08:13:03.000 に答える