1

AJAX を介してページに多くの要素をプルしています。これらの要素は次のようになります。

<div id="offerWrapper7" class="offerWrapper">
    <div class="resultsSummaryBox bevelBox" style="">
        <div class="imgBox">
            <div class="titleBox">Title Title<br>
                    <span class="infoButton" id="info592">i</span>
            <div class="resultsBoxFullText" id="info592">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</div>
            </div>
        </div>
    </div>
</div>

.infoButtonのコンテンツで jQuery UI ダイアログを開くクリック イベントをバインドする必要があります.resultsBoxFullText

live() を使用してこれを達成することができました (以下を参照)。

$(".infoButton").live('click', function(){
    $( "#info594" ).dialog({
        height:400,
        width:600,
        show: 'fade',
        hide: 'fade'
    });
});

ライブが減価償却されているので、誰かが on() でこれを行う方法を教えてください。live を on に置き換えるのと同じくらい簡単だと思っていましたが、そうではないようです。

4

1 に答える 1

5
$("an-element-already-on-the-page").on('click', '.infoButton', function(){

の前のセレクター.onは既にページ上にある必要があり、ターゲット要素 ( .infoButton) はその中にある必要があります。したがって、ドキュメントまたはボディを使用できます。

于 2012-06-27T23:40:00.610 に答える