jQuery中live()使用报错,TypeError: $(...).live is not a function

Posted masonblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery中live()使用报错,TypeError: $(...).live is not a function相关的知识,希望对你有一定的参考价值。

原地址: https://blog.csdn.net/sdfdyubo/article/details/59536781

1、使用

(1)原写法

    /*为选项卡绑定右键*/
    $(".tabs li").live(‘contextmenu‘, function (e) {
        /*选中当前触发事件的选项卡 */
        var subtitle = $(this).text();
        $(‘#mainTab‘).tabs(‘select‘, subtitle);
        //显示快捷菜单
        $(‘#tab_menu‘).menu(‘show‘, {
            left: e.pageX,
            top: e.pageY
        });
        return false;
    });

(2)调整后的写法

    /*为选项卡绑定右键*/
    $(".tabs").on("contextmenu", "li", function (e) {
        /*选中当前触发事件的选项卡 */
        var subtitle = $(this).text();
        $(‘#mainTab‘).tabs(‘select‘, subtitle);
        //显示快捷菜单
        $(‘#tab_menu‘).menu(‘show‘, {
            left: e.pageX,
            top: e.pageY
        });
        return false;
    });

 

2、说明

jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,如果使用,会抛出TypeError: $(...).live is not a function错误。

解决方法:

之前的用法:

.live(events, function)  

新方法:

.on(eventType, selector, function)

若selector不需要,可传入null

 

例子1:

之前:

$(‘#mainmenu a‘).live(‘click‘, function)

之后:

$(‘#mainmenu‘).on(‘click‘, ‘a‘, function)

 

 

例子2:

之前:

$(‘.myButton‘).live(‘click‘, function)

之后(应使用距离myButton最近的节点):

$(‘#parentElement‘).on(‘click‘, ‘.myButton’, function)

若不知最近的节点,可使用如下的方法:

 

$(‘body‘).on(‘click‘, ‘.myButton’, function)

 























以上是关于jQuery中live()使用报错,TypeError: $(...).live is not a function的主要内容,如果未能解决你的问题,请参考以下文章

jQuery中的事件方法,使用on()代替live()

ubuntu live-server 启动报错

Jquery .On 不工作,.live 工作 [重复]

jQuery1.9+中删除了live以后的替代方法

使用 .live() 绑定 jQuery UI 自动完成

jQuery next() 不能与 live() 一起使用