原博文
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)