我将鼠标点击监听器绑定(bind)到多个 SVG 元素,并在点击时触发剑道上下文菜单的打开方法。如果菜单已经打开(我监听激活/停用事件以检查菜单是否打开),并且用户点击相同的元素,它应该关闭。
问题是:上下文菜单默认在鼠标按下时关闭。因此,当它打开时,用户单击它在 mousedown 上关闭并在 mouseup 上重新打开的同一元素 - 但它应在单击时关闭,而不是在 mousedown 上关闭。有没有办法直接告诉上下文菜单或者我必须通过 SVG 元素的事件来控制它? 谢谢!
最佳答案
不确定我是否理解您要执行的操作,但是您可以像这样在菜单外部单击时影响菜单是否关闭:
kendo.ui.ContextMenu.fn._closeHandler = function (closeHandler) {
return function(e) {
var clickInMenu = $.contains(this.element[0], e.target);
if (clickInMenu) { // click outside will do nothing
closeHandler.call(this, e);
}
}
}(kendo.ui.ContextMenu.fn._closeHandler);
var contextMenu =$("#context-menu").kendoContextMenu({
target: "#target"
});
( demo )
关于javascript - Kendo 上下文菜单 - 防止关闭鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28960046/