我的右键单击上下文菜单有问题
我尝试删除div
$(".global_class").live('mousedown', function(e)
{
if( (e.which == 3) )
{
// $('#'+this.id+'').remove();
del_function(this.id);
}
e.preventDefault();
}).live('contextmenu', function(e){ e.preventDefault(); });
此代码有效但问题是$('#'+this.id+'').remove();
jquery删除div并且实时$(".global_class").live('mousedown', function(e)
没有启动(结果 - >上下文菜单不会被阻止)。
希望有人可以帮助我。
提前谢谢!
彼得
答案 0 :(得分:1)
当你删除事件中涉及的元素时,会产生冒泡和默认值等等,这有点松散(即使没有涉及jQuery的live
)。你可以这样做:
$(".global_class").live('mousedown', function(e)
{
var id = this.id;
if( (e.which == 3) )
{
setTimeout(function() {
del_function(id);
}, 0);
}
e.preventDefault();
}).live('contextmenu', function(e){ e.preventDefault(); });
...以便您在事件结束后立即删除div
,而不是在活动期间删除。
偏离主题,但您无法取消所有浏览器上的contextmenu
事件(想到Opera),您可能希望将其纳入您的UI决策......