jquery中的自定义上下文菜单
我有一个节点(Raphael rect)附加了事件拖动的情况jquery中的自定义上下文菜单,jquery,raphael,Jquery,Raphael,我有一个节点(Raphael rect)附加了事件拖动的情况 r4.drag(dragMove, dragStart, dragStop); 在dragStop处理程序中,我区分了拖动和右键单击事件 if (editLabelFlag == false) { if (event.which == 3) { event.preventDefault(); $('#contextmenu').slideDown('fast').delay(1000).sli
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始终保持display none,并且只有在第一次变成display block时才显示。我尝试过使用return false而不是event.prevent default,但这会在浏览器菜单下面显示我的菜单
默认值是否导致此问题?
请提供一些这不是因为浏览器停止了任何事件,实际上我是在创建克隆并拖动原始文件。在dragstart中,克隆已放置到位,在单击过程中未删除。因此,没有为“原始”映射的事件对“克隆”有效,因此单击仅发生一次
感谢您抽出时间这不是因为浏览器停止了任何事件,实际上我是在创建克隆并拖动原始文件。在dragstart中,克隆已放置到位,在单击过程中未删除。因此,没有为“原始”映射的事件对“克隆”有效,因此单击仅发生一次
感谢您的时间这篇文章可能会很有用:没有任何答案或问题涉及到第一次之后未处理的事件!我的代码所做的与Simonth发布的最后一个答案类似。这篇文章可能很有用:没有一个答案或问题涉及第一次之后未处理的事件!我的代码所做的与Simon发布的最后一个答案类似