0

私は次のコードを持っています:

for (var i=0; i<len; i++){
        var benID = results.rows.item(i).ID;
        $('#'+element_id).append(
                                  "<li><a>"+results.rows.item(i).nombres+" "+results.rows.item(i).apellidos+'</a>'+
                                  '<a href="#" data-position-to="window" data-icon="check" class="'+page+'_dis_ben_'+benID+'">Eliminar</a></li>');
        $("."+page+"_dis_ben_"+benID).click(function(){
            console.log("Item to disable: "+benID);
            $(this).children('span.ui-btn-inner').children('span.ui-btn-icon-notext').children('span.ui-btn-inner').children('span.ui-icon').removeClass('ui-icon-check');
            $(this).children('span.ui-btn-inner').children('span.ui-btn-icon-notext').children('span.ui-btn-inner').children('span.ui-icon').addClass('ui-icon-delete');
            $(this).children('span.ui-btn-inner').children('span.ui-btn-icon-notext').children('span.ui-btn-inner').addClass('ui-btn-inner-red');
            $(this).removeClass(page+"_dis_ben_"+benID).addClass(page+"_enable_ben_"+benID);
        });

        $("."+page+"_enable_ben_"+benID).click(function(){
            //NOT WORKING
            console.log("Item to enable: "+benID);
            $(this).children('span.ui-btn-inner').children('span.ui-btn-icon-notext').children('span.ui-btn-inner').children('span.ui-icon').removeClass('ui-icon-delete');
            $(this).children('span.ui-btn-inner').children('span.ui-btn-icon-notext').children('span.ui-btn-inner').children('span.ui-icon').addClass('ui-icon-check');
            $(this).children('span.ui-btn-inner').children('span.ui-btn-icon-notext').children('span.ui-btn-inner').removeClass('ui-btn-inner-red');
            $(this).removeClass(page+"_enable_ben_"+benID).addClass(page+"_dis_ben_"+benID);
        });
}

受け入れるか拒否するかを決めるために、2つに分割されたリストがあります。右側はボタンです。私がやろうとしているのは、チェックボタンをクリックすると色が変わり、削除ボタンになると、アクションも実行するということです。私はそれで成功していること。

問題は、チェックボタンに戻したいのですが、動的に作成されるため、「削除」アイコンまたは*_enable_ben_*をクリックしてもトリガーされません。イベントを作成したとき、クラス/要素がまだ存在していないためだと思います。

あなたはなにか考えはありますか?

4

2 に答える 2

1

.onhttp : //api.jquery.com/on/を使用します

var selector = "."+page+"_enable_ben_"+benID;

$("#yourList").on("click", selector, function(event){
   //Insert handler code
});
于 2013-03-21T23:53:01.517 に答える
0

ここスタックオーバーフローのコメントで最後の質問の解決策を見つけました:

動的リストアイテムのjQueryMobileクリックイベント

于 2013-03-28T22:25:59.147 に答える