0

私はこの状況を持っています: 日付を選択するためのカレンダー スクリプトがあります。日付が選択されると、onclick という関数が選択ボックスを時間選択に使用できるようにします。現在は、display:none-->display:block とは異なり、select は JS によって生成されています。私の目標は、この選択をカスタマイズすることです。そのために、選択をスパンに変えるjqueryスクリプト「custom.select」を取得しました。問題は、このスクリプトの呼び出しをカレンダー呼び出しの直後に onclick に追加すると、実行されないことです。その段階では選択用のhtmlがまだ挿入されていないため、私はそれを確信しています。select が表示された後に firebug コンソールから custom.select 関数を呼び出すと、問題なく動作します。問題は、選択ボックスで魔法をかけるように呼び出すにはどうすればよいかということです。

ありがとう

4

3 に答える 3

0

.on()で委任を使用します。

$(function(){
    $(document).on('click','.classdynamic',function(){
        //do stuff here
    });
});

ターゲット要素の最も近い静的コンテナーにイベントを委任する必要があります。これは$(document).on('click','.classdynamic',function(){...}); 、次のように変更することを意味します。$('#staticContainer').on('click','.classdynamic',function(){...});

于 2013-04-14T22:25:07.163 に答える
0

要素がいつ追加されるかを把握するのは簡単なことではありません。ここで同様の質問に答えました

最良の方法は、選択を作成するスクリプトを制御し、それにコードを追加することです。これを実現する 1 つの方法は、アスペクト指向プログラミング (AOP) を使用することですが、これも簡単ではありません。

現在のブラウザでは、ループで setTimeout を使用し、要素が存在するまでページをポーリングするのが最も簡単な方法です。

于 2013-04-14T23:33:27.557 に答える