Jquery ui jQueryUINamespaceWidget
我正在查看Jquery ui jQueryUINamespaceWidget,jquery-ui,jquery-widgets,Jquery Ui,Jquery Widgets,我正在查看ui.dialog源代码,这可能是有史以来最好的学习体验 我看到他们经常引用uiDialog,显然uiDialog是指小部件本身。所以我在我的小部件中尝试了这个,就像在namespaceWidgetName中一样,但它没有定义。我是否正确理解uiDialog,以及如何在小部件中冷藏到我的小部件 (function( $, undefined ) { $.widget("dbd.myWidgetName", { options: { //
ui.dialog
源代码,这可能是有史以来最好的学习体验
我看到他们经常引用uiDialog
,显然uiDialog是指小部件本身。所以我在我的小部件中尝试了这个,就像在namespaceWidgetName
中一样,但它没有定义。我是否正确理解uiDialog
,以及如何在小部件中冷藏到我的小部件
(function( $, undefined ) {
$.widget("dbd.myWidgetName", {
options: {
//autoOpen: true,
},
_create: function() {
},
widget: function() {
return this.dbdMyWidgetName;
}
// rest of widget code
在ui.dialog的
\u create
功能中,有一行内容如下:
uiDialog = (self.uiDialog = $('<div></div>'))
所有jQuery小部件都有一个名为
element
的属性,该属性引用了封装在jQuery实例中的底层DOM元素。查看调试器以了解它是如何工作的。那么在\u create
中使用var myVariable=
定义的变量在整个小部件中都可用吗?对于其他地方定义的变量,这是真的吗?似乎不是。。我做了var dbdMyWidgetName=$('')代码>在\u create
中,但dbdMyWidgetName在任何其他方法中都不可用。为了澄清一点uiDialog=(self.uiDialog=$(“”)).appendTo(document.body)…)代码>是神奇的地方…注意:uiDialog=(self.uiDialog=$('')
self
变量是我在jQuery小部件中注意到的一种常见技术。按照惯例,我的大多数小部件方法都以var self=this;
开始,因此self
是当前的小部件(this
可以引用其他对象,例如当您编写处理程序闭包时,因此使用self
可以避免混淆)。正如您所指出的,您可以使用self.myprop
向小部件添加属性,这是存储信息或缓存jQuery元素引用的便捷方法。
$.widget("dbd.myWidgetName", {
options: {
//autoOpen: true,
},
_create: function() {
},
widget: function() {
return this.element;
}
}