首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery On和Live Confusion

Jquery On和Live Confusion
EN

Stack Overflow用户
提问于 2012-09-28 01:07:05
回答 1查看 34关注 0票数 0

看看这些示例代码:

我们有

代码语言:javascript
复制
​    <div class="ex"></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

我们有jquery代码;

1-启用

代码语言:javascript
复制
$('.ex').append("<div class='text'>object-1</div>");

$('.text').on({

    hover: function(e) {
        if (e.type === "mouseenter")
        {      
            $(this).css('color','green');
        }
        else if (e.type === "mouseleave")
        {
            $(this).css('color','black'); 
        }
    },
    click: function()
    {
        $(this).css('color','red');
    }

});

$('.ex').append("<div class='text'>object-2</div>");

2-带Live

代码语言:javascript
复制
$('.ex').append("<div class='text'>object-1</div>");

$('.text').live({

    hover: function(e) {
        if (e.type === "mouseenter")
        {      
            $(this).css('color','green');
        }
        else if (e.type === "mouseleave")
        {
            $(this).css('color','black'); 
        }
    },
    click: function()
    {
        $(this).css('color','red');
    }

});

$('.ex').append("<div class='text'>object-2</div>");

问题是jquery不能在带有.on的object-2上工作。.live已弃用,应避免使用。然而,.on不能处理动态内容。如何使用.on在动态内容上运行jquery代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 01:11:06

.on确实可以处理动态内容,但您必须使用它的不同版本,如下所示...

代码语言:javascript
复制
$("static-scope-selector").on("event", "dynamic-content-selector", function{...});

因此,对于您的标记,您将使用如下内容:

代码语言:javascript
复制
$("div.ex").on("hover", ".text", function(e) {...})
        .on("click", ".text", function(e) {...});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12626594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档