jQuery's .data()函数在剑道UI中的作用是什么?
What purpose does jQuery's .data() function serve in the Kendo UI?
在这个网站上——剑道UI的自动完成小部件文档——有一段代码我只理解了一部分。
$(document).ready(function() {
var autocomplete = $("#customers").kendoAutoComplete({
minLength: 1,
dataTextField: "ContactName",
headerTemplate: '<div class="dropdown-header">' +
'<span class="k-widget k-header">Photo</span>' +
'<span class="k-widget k-header">Contact info</span>' +
'</div>',
template: '<span class="k-state-default"><img src='"../../content/web/Customers/#:data.CustomerID#.jpg'" alt='"#:data.CustomerID#'" /></span>' +
'<span class="k-state-default"><h3>#: data.ContactName #</h3><p>#: data.CompanyName #</p></span>',
dataSource: {
transport: {
read:{
dataType: "jsonp",
url: "http://demos.telerik.com/kendo-ui/service/Customers"
}
}
},
height: 370,
}).data("kendoAutoComplete");
});
这是我所理解的:这是一个标准的自动完成控件,它使用模板来使小部件看起来更好一点。我了解模板是如何工作的(大部分),并且我知道将它放在.ready()函数中会导致它在DOM加载后运行。
我不明白的是最后需要jQuery的。data()函数。它为什么在那里?我试图理解jQuery文档,但似乎还有更深层的原因。变量autocomplete
没有在这个代码示例的其余部分中使用,所以我想知道这是否是Kendo部分的错误。
.data()函数将任意数据附加到DOM元素。剑道在多大程度上使用了这些任意数据?
在您的示例中,您不需要它,因为您实际上不再使用autocomplete
。
正如你所说,jQuery data
函数将任意数据附加到DOM元素,这正是KendoUI在创建任何小部件时所做的:任何需要的数据,都是附加到与小部件相关的DOM元素,所以如果将来你需要对小部件做一些操作,你可以使用data
获得对它的引用。
示例:您创建了一个剑道Window
,并且用户可以关闭它(这并不意味着销毁它,只是隐藏它)。如果将来需要打开它,只需执行$("#win-id").data("kendoWindow").open()
。如果你需要对window
执行很多操作,而不是每次都执行$("#win-id").data("kendoWindow")
,你可以这样做:
var myWindow = $("#win-id").data("kendoWindow");
但有时你在创建它的时候也这样做:
var myWindow = $("#win-id").kendoWindow({}).data("kendoWindow");
这意味着你创建一个kendoWindow
附加到一个DOM元素,id
是win-id
,然后你通过执行.data("kendoWindow")
得到对它的引用。
在您所展示的代码中,这基本上是他们所做的:创建一个autocomplete
并获取它的引用以供将来使用。
- 这是什么 ==- javascript 运算符
- 我的单元测试选项是什么
- 在 Windows 现代(地铁)UI 应用中存储图像文件和音频文件的方法是什么?
- 使用ui路由器实现动态URL路由的最佳方式是什么
- 我们可以在 jquery ui 选项卡中用于隐藏/显示的不同效果是什么
- jQuery UI SelectMenu 小部件的最低 CSS 和 JS 要求是什么?
- 将Jquery UI与AngularJS一起使用的优点和缺点是什么?
- 对于这个 Kendo-UI 数据源和 Kendo-UI 网格,我的 JSON 响应应该是什么样子的
- win.js.ui.html控件:'元素'未定义.?这个错误是什么
- 这个插件要求回调字符串的格式是什么?(jquery ui multisearch)
- 在不影响UI的情况下,将外部几何图形加载到Three.js中的最佳和最快方法是什么
- 元素,事件,ui变量是什么意思?—jQuery (UI)
- 从关联的html中调用WinJS.UI.Pages.define定义的函数的语法是什么?
- 在AngularJS UI-Router中创建视图最干净的方法是什么?
- 设计在DOM中表示UI对象的JavaScript类的最佳实践是什么
- 流星框架中的全局对象UI是什么,应该如何使用
- 使用Semantic-UI的最小JQuery版本是什么?
- jQuery's .data()函数在剑道UI中的作用是什么?
- 在rails应用程序中对Javascript繁重的UI进行集成测试的最佳方法是什么?
- 使用React和Redux在UI中成功处理REST POST操作的常见方法是什么?