【发布时间】:2017-01-27 21:07:28
【问题描述】:
除非我在方法中放置一个 alert() 或者我在函数内的 Chrome 开发者工具中有一个断点,否则不会触发我的显示和隐藏事件。
我不想显示警报。我能错过什么? 谢谢!
这是我的 JQuery contextMenu 对象(带有警报功能):
$.contextMenu({
selector: 'circle',
trigger: 'left',
events: {
show: function(options) {
contextMenuIsOpen = true;
if ($("#GraphType option:selected").text() == "Line")
chart = "#chart";
$(chart).data("kendoChart").options.tooltip.visible = false;
alert("Show Context Menu");
},
hide: function (options) {
contextMenuIsOpen = false;
$(chart).data("kendo-chart").options.tooltip.visible = true;
alert("Hide Context Menu");
}
},
build: function () {
return buildMenu();
}
});
【问题讨论】:
-
您需要什么信息?该链接对我和您都没有帮助,因为我不知道我还需要添加什么以使我的问题更有意义。
-
这是否包含在加载回调中(
$.ready()或$()...)? -
如果您看到这些警报,那么当您取出它们时,几乎可以肯定这些功能仍在触发。为什么你认为他们不是?您是否检查过控制台的错误、断点并单步执行代码以检查它是否按预期工作?你只需要做更多的调试来确定问题到底是什么。您问题中提供的代码不足以让我们重新创建问题,因此很难为您提供帮助(我相信 Chris G 在他的评论中暗示了这一点)。
-
没错。将一个 jsfiddle 放在一起或为您的问题添加一个工作示例。就目前而言,我们只能猜测问题所在。警报都在函数的末尾,因此它们出现的事实将指向正在运行的函数。就像@NigelK 说的,做一些基本的故障排除。对于初学者,将
alert()调用替换为console.log()是否仍然有效?
标签: javascript jquery kendo-ui contextmenu