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


原博文

https://blog.csdn.net/sdfdyubo/article/details/59536781

使用

原寫法

/*為選項卡綁定右鍵*/
$(".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;
});

調整后的寫法

/*為選項卡綁定右鍵*/
$(".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;
});

說明

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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM