【问题标题】:Attach event handler to KendoUI widget (View)将事件处理程序附加到 KendoUI 小部件(视图)
【发布时间】:2013-06-06 23:18:47
【问题描述】:

我正在尝试使用现有的网络应用程序来使用 Kendo (Mobile) UI 小部件。 所有现有的 javascript 代码库都包含在 AMD 模块 (RequireJS) 中。

我想将“显示”事件处理程序附加到视图,以便应用程序可以从后端请求数据,但是数据逻辑在模块内,并且不能从页面脚本调用(因此,我不能使用剑道数据-event属性)。

我认为我可以像这样在代码中附加一个事件处理程序:

$('#tabstrip-browse').on("show", function(e) {...});

但是,事件处理程序没有被调用。

有没有办法做到这一点?

【问题讨论】:

    标签: kendo-ui kendo-mobile


    【解决方案1】:

    看来我终于可以回答我自己的问题了

    我的问题是我试图使用 jQuery 事件绑定语法来绑定事件,但是 KendoUI does not expose events in a jQuery friendly/compliant way

    但是,有一种方法可以做到这一点using the KendoUI API

    【讨论】:

    • 此语法不适用于 Kendo ComboBox (V. 2014.1.415):$("#cb").data("kendoComboBox").bind("select", function() { ... });
    • @Misi - 查看 应该 工作的documentation。也许检查您的每个链接调用是否都返回了预期的项目
    • 仍然无法在 Kendo Mobile View 上执行此操作 :(
    • 我仍然无法使用 Kendo Mobile View,但是在我的用例中,有一个选项可用于更改事件,因为它与输入类型文本绑定。
    • @ThilakRao 认为我在某处听到并看到了你的名字。
    【解决方案2】:

    在 javascript 或 jQuery 中没有标准的“显示”事件。您可以绑定自定义事件,但您还需要包含触发它们的方法。

    这是一个简单的例子:

    // bind the custom event    
    $('#element').on('show', function(e) {
      // handle the custom event
    });
    
    // trigger the custom event
    $('#element').trigger('show');
    

    【讨论】:

    • 这个问题专门针对 KendoUI - 似乎 Kendo 没有公开公开的“显示”事件(但可以通过它的“不显眼”属性访问它)......我不确定你已经理解了这个问题
    • 在我看来,您是在问如何将非标准事件绑定到视图。这不是剑道特有的。您是否在问如何通过视图模型公开它并使用 Kendo 绑定它?你在用杜兰达尔吗?你没有提供足够的信息。
    【解决方案3】:

    【讨论】:

    • 我在提供的链接中看不到任何解释附加到 KendoUI 事件的内容
    • 附加事件,数据逻辑可能被请求并绑定到数据源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 2011-10-30
    相关资源
    最近更新 更多