首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:$(...).live不是函数

TypeError:$(...).live不是函数
EN

Stack Overflow用户
提问于 2013-03-22 23:07:19
回答 6查看 68.9K关注 0票数 9

我对jquery 1.9.1有一个问题。我已经搜索过了,但这些都不能解决我的问题。

代码语言:javascript
运行
复制
    $('.sm2_expander').live('click', function() {
    $(this).parent().parent().toggleClass('sm2_liOpen').toggleClass('sm2_liClosed');
    return false;
});

每个人都说“使用'on‘函数”,但这一次我的代码从来没有工作过。

代码语言:javascript
运行
复制
$(document).on("click", "a.offsite", function(){ alert("Goodbye!"); }); 

编辑:这是我的使用项目页面:draggable link

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-03-22 23:43:55

在您的示例中,您使用了选择器a.offsite,但是您的页面中没有与此选择器匹配的元素。这可能是它不起作用的原因。

代码语言:javascript
运行
复制
$(function(){
    $(document).on('click', '.sm2_expander', function(){
        alert('bye');
        $(this).parent().parent().toggleClass('sm2_liOpen').toggleClass('sm2_liClosed');
    })
})

我想你可以把这个缩短为

代码语言:javascript
运行
复制
$(function(){
    $(document).on('click', '.sm2_expander', function(){
        $(this).closest('li').toggleClass('sm2_liOpen sm2_liClosed');
    })
})
票数 15
EN

Stack Overflow用户

发布于 2014-07-28 20:00:13

.live()是在jQuery 1.3中引入的,因此它不能在早期版本中工作。

从那以后,.live()在jQuery 1.7中也被弃用了。

的替代方法是.on()和.delegate()

请参阅相关问题jQuery 1.9 .live()不是关于如何迁移现有代码的函数。

我使用了"jquery-1.8.3.min.js“,我的问题就解决了。

票数 9
EN

Stack Overflow用户

发布于 2013-03-22 23:21:44

试试这个:- http://jsfiddle.net/trdb9/

JS:-

代码语言:javascript
运行
复制
$(document).on("click", "a.offsite", function () {
    alert("Goodbye!");
});

HTML:-

代码语言:javascript
运行
复制
<a class="offsite">Click Me</a>
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15573645

复制
相关文章

相似问题

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