jQuery的。从live()更改为on()

时间:2012-06-27 23:37:37

标签: jquery

我通过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,然后.resultsBoxFullText会打开与$(".infoButton").live('click', function(){ $( "#info594" ).dialog({ height:400, width:600, show: 'fade', hide: 'fade' }); }); 内容的jQuery UI对话。

我已经设法使用live()实现了这一点(如下所示)。

{{1}}

随着现场折旧,有人可以告诉我如何用on()来做这件事。我认为这就像用on替换live一样简单,但看起来并非如此。

1 个答案:

答案 0 :(得分:5)

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

.on之前的选择器必须已经在页面上,并且目标元素(.infoButton)必须位于其中。所以你可以使用文件或正文。