jquery - Kendo UI,使用 MVVM 时如何从 DOM 元素获取小部件对象?

标签 jquery mvvm kendo-ui kendo-treeview kendo-mvvm

我按照本页的说明在MVVM中制作了一个kendo treeView:http://demos.kendoui.com/web/treeview/mvvm.html

现在我需要绑定(bind)一些events并且还利用一些 APIs .

我想我需要有 Treeview 对象,并且我需要使用相应的 DOM 元素以某种方式找到它。如何才能实现这一目标呢?

最佳答案

您可以使用 MVVM 绑定(bind)在标记中绑定(bind)事件。该示例展示了如何做到这一点。

data-bind="visible: isVisible, source: files, events: { select: onSelect }

示例中的代码显示了 MVVM 事件绑定(bind)结构。这是使用 KendoUI MVVM 绑定(bind)事件的最简单方法。通过上面的代码,他们还给出了处理事件的 onSelect 依赖方法的示例。您可以通过用逗号分隔来添加更多事件绑定(bind)。

events: { select: onSelect, click: onClick }

然后,您需要将一个名为 onClick 的方法添加到您的 View 模型代码中

onClick: function(e) {
//Do Something
}

如果您想获取 DOM 元素并从 Javascript 代码调用小部件,您可以使用:

var treeViewWidget = $("#treeview").data("kendoTreeView");

请确保在将 View 模型绑定(bind)到页面后执行此操作。您还需要修改示例中的 div 以包含 Id 属性,以便在 jQuery 选择器中进行方便的选择。上面的代码要求您将 Treeview div 定义为:

<div id="treeview" class="files"
data-role="treeview"
data-drag-and-drop="true"
data-text-field="name"
data-spritecssclass-field="type"
data-bind="visible: isVisible,
source: files,
events: { select: onSelect }"></div>

关于jquery - Kendo UI,使用 MVVM 时如何从 DOM 元素获取小部件对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18475184/

相关文章:

javascript - 如何在不自动将文件重命名为 "download"的情况下在 Chrome 上下载文件?

带有 $(this) 的 jQuery 多重选择器

javascript - jQuery 代码仅在第二次单击后才起作用

angularjs - 在 AngularJS 中使用带有 KendoUI 的模态窗口

listview - 将 View 模型绑定(bind)到 ListView

javascript - JQuery 跨域 GET 请求不起作用

wpf - 在同一应用程序中使用 Prism 和 GalaSoft MVVM 工具包是否多余?

wpf - 在 wpf mvvm 数据绑定(bind)菜单项中添加额外级别

c# - 在文本匹配 MVVM 上更改 TextBox BorderBrush 的颜色

jquery - Kendo UI 与 JQuery 更改模板 : &lt;input&gt; to readonly or disable