1

追加された要素をトリガーするためにon()メソッドを使用し、click()を使用しないようにする必要があることはわかっているので、次のようにします。

$('#change_profile_img').on('click', function(){
alert(1);           
});

したがって、上記のコードは、追加された要素を除いて、どの要素でも正常に機能します。たとえば、次のように追加します。

$('.companylogo:first').append('<a id="change_profile_img" class="ic_change">CHANGE IMAGE</a>');    

追加した後は機能しませんが、ページを更新した後は問題なく機能します。私が言及しなければならないもう一つのことは、私はモーダルページから追加を行っています、それはボタンとすべてを追加しますが、私はもうそれをトリガーすることができませんでした...

どんな助けでもいただければ幸いです。ありがとう

4

5 に答える 5

2

このように使用してください

$(document).on('click','#change_profile_img', function(){
    alert(1);           
});

アップデート

このデモをチェックしてください

hrefあなたはaタグに欠けています

于 2012-10-27T09:03:45.163 に答える
2

これはうまくいくはずです:

$(".companylogo").on("click", "#change_profile_img", function() {
  alert(1);
});
于 2012-10-27T11:02:39.800 に答える
1

このように要素を追加するときに、クリック イベントを委譲してみることができます。

$('.companylogo:first')
    .append('<a id="change_profile_img" class="ic_change">CHANGE IMAGE</a>')
    .delegate('#change_profile_img', 'click', function(){
        alert(1);
});
于 2013-03-02T00:25:18.243 に答える
0

このページで機能しない理由はわかりませんが、最終的に質問を少しクリアして解決しました。追加された要素を最初からページに表示し、display ='none'を追加する代わりにモーダルに配置し、それらを表示()しただけで、すべてがうまくいきました。ありがとうございました。

于 2012-10-27T10:58:25.520 に答える
0

これを試してください:

function GetIt()
{ 
    $('#change_profile_img').on('click', function(){
        alert(1);           
    });
}

本文のオンロード時および追加時にGetIt()関数を呼び出すことができます。

于 2012-10-27T10:24:41.150 に答える