1

何が間違っているのかわかりません。生成された最初の日付ピッカー入力フィールドでのみ機能する class='freeze-date' で入力フィールドを動的に生成しました。私はコード@ http://jsfiddle.net/Someguy2k/L9nvs/3/を持っています

ありがとう

4

1 に答える 1

2

挿入されたマークアップにはいくつかの問題があります。id要素の各行の属性はすべて同じ値です。
その無効な HTML であるだけでなく、このような副作用が発生します。

jQuery は ID を探し、最初の一致が見つかったときに停止します。値を追加値として属性に
追加することで、カレンダーの特定の問題を修正しました。iid

...  id='freezeby" + i + "'  ...

デモを見る

他の要素とやり取りしたときに同じように動作している場合は、他のid属性にも同じ問題があるのを見たのと同じ理由が原因である可能性が最も高い.

Live() の使用

また、 を使用してlive()います。Live にはいくつかの問題があり、すべての欠点はドキュメントに記載されています。live()メモリ リーク、予期しないイベント バインディングの損失、バブル イベントなどの方法が原因で stopPropagation() が機能しない。

jQuery 1.7は廃止されたためlive()、推奨されていon()ます。お使いのバージョンでは、イベントを静的要素にバインドするにはbind()を使用し、イベントを動的要素にバインドするにはdelegate()を使用することをお勧めします。

于 2012-08-15T23:59:24.527 に答える