我有一个节点(Raphael rect)附加了事件拖动的情况。
r4.drag(dragMove, dragStart, dragStop);
在 dragStop 处理程序中,我区分了拖动和右键单击事件
if (editLabelFlag == false) {
if (event.which == 3) {
event.preventDefault();
$('#contextmenu').slideDown('fast').delay(1000).slideUp();
// code for
}
} else {
// drag code
}
我在 dragMove 处理程序中将 editLabelFlag 设置为 true 以区分拖动和单击停止显示浏览器上下文菜单,我已经给出了 event.preventDefault()。
我面临的问题是,这是第一次完美地发生,并且对于以后在节点上的所有右键单击,我只得到浏览器上下文菜单。我已经检查了 Firebug,发现 contextmenu div 始终保持无显示,并且仅在第一次成为显示块时才显示。我尝试使用 return false 而不是 event.preventDefault ,但这会在浏览器菜单下方显示我的菜单。
preventDefault 是否会导致此问题?请提供一些