在禁用上下文菜单时,是否可以为右键单击指定回调函数?
$('div').on('contextmenu', function (e) {
e.preventDefault();
return false;
});
$('label').on('click', function (e) {
var btn = e.button;
if (btn == 2) {
alert(1);
} else {
return false;
}
});
答案 0 :(得分:2)
这将是一种更方便的方法: DEMO
$('div').on('contextmenu', function (e) {
if(!$(this).children('label').is(e.target)){
e.preventDefault();
return false;
}
});
$('label').on('contextmenu', function (e) {
alert(1);
e.preventDefault();
return false;
});
答案 1 :(得分:1)
你快到了。右键单击时会触发contextmenu
事件。所以在那个处理程序中,你应该做你想做的事情然后e.preventDefault()
。
$('div').on('contextmenu', function (e) {
var btn = e.button;
if (btn == 2) {
alert(1);
} else {
return false;
}
e.preventDefault();
return false;
});