標籤:top events typeerror blog 右鍵 jquer fun 錯誤 解決
原地址: 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