1

この JavaScript には奇妙な問題があります (ldelim と rdelim は、smarty を使用する場合の中括弧用です)

$('#bouton').on('click',function() {ldelim}
        event.preventDefault();
        $.post(url,data,function(callback_data){ldelim}
                  ....
       {rdelim});
{rdelim});

このスクリプトは、見えなかった div タグ ('#thisdiv') を明らかにします。それから私は追加しました

$('#thisdiv').on('click',function() {ldelim}
            event.preventDefault();
            $.post(url,data,function(callback_data){ldelim}
                      ....
           {rdelim});
{rdelim});

しかし、「#thisdiv」をクリックしても何も起こりません(「#thisdiv」のクリック機能で何かを抑制して警告メッセージを表示しても)。誰かが助けることができますか?

編集:最初の呼び出しの前に、最初の呼び出しの後、クラス「見えない」が削除されました(クラス「見えない」は表示なしのクラスです)

4

1 に答える 1

4

#thisdivこのコードの実行時には存在しないため、イベントを添付できません。ドキュメントの上位に委任する必要があります。例えば:

$(document).on('click','#thisdiv',function(){...});

または、ロード時に親要素がある場合は、これをアンカーとして使用できます。

$('#theparent').on('click','#thisdiv',function(){...});

jquery.onドキュメンテーション

于 2013-01-21T11:37:02.157 に答える