如何将事件侦听器添加到Kendo UI视图?

时间:2013-11-24 00:17:43

标签: kendo-ui kendo-mobile

$('#my-view').on('show', showHandler)

不起作用。使用data-show也不是一种选择,因为设置/取消设置事件的代码位于稍后实例化的类中。以编程方式创建视图并传入事件处理程序也不起作用,因为我需要在不同时间开启/关闭事件。

使用kendoUI是不可能的?如果没有,为什么?这似乎是一个非常明显的功能,可以将这些事件传递给元素本身,就像使用jquery ui小部件一样。

2 个答案:

答案 0 :(得分:0)

这有效:

var view = $('#my-view');
var widget = kendo.widgetInstance(view);
widget.bind('show', showHandler);

答案 1 :(得分:0)

更好的回答,只需自己委派事件,以便问题中的代码真正起作用:

<div data-role="view" ... data-show="onShow">...</div>

function onShow () {
    this.element.trigger('show');
}

现在它的工作原理:)。我仍然存在的问题是,如果第一个显示视图,则首次显示视图时不会触发“显示”。呃,所以是的,我不得不为此添加一些额外的代码:

if ($('#my-view').is(':visible')) {
    $('#my-view').trigger('show');
}

Lame但它确实有效。