我正在将 Kendo Ui 控件与 .Net MVC 结合使用。我希望能够在 javascript 中检查控件上是否存在事件。例如,我声明一个对话框窗口如下。在其他地方,我声明了对话框,但不添加刷新事件。如何在 javascript 中检查刷新事件是否存在?
@(Html.Kendo().Window()
.Title("Clone Existing Address")
.Name("myDialog")
.Modal(true)
.Draggable()
.Resizable()
.Width(800)
.Visible(false)
.Actions(actions => actions
.Minimize()
.Maximize()
.Close()
)
.Events(e => e.Refresh("refreshDialog"))
)
示例 javascript:这还不能工作!!
function refreshEventExists() {
var dialog = $("#myDialog").data("kendoWindow");
if (dialog.refresh) {
alert('Refreh event exists');
}
else {
alert('Refreh event DOES NOT exists');
}
}
最佳答案
您可以检查widget._events
:
function numberOfHandlers(widget, eventName) {
if (widget._events.hasOwnProperty(eventName)) {
return widget._events[eventName].length;
}
return 0;
}
var dialog = $("#dialog2").kendoWindow().data("kendoWindow");
dialog.bind("activate", function () {});
console.log(numberOfHandlers(dialog, "activate")); // logs "1" (one handler for the activate event)
console.log(numberOfHandlers(dialog, "refresh")); // logs "0" (no handlers for the refresh event
( demo )
关于javascript - Kendo Ui - 检查事件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21454003/