1

我做了一些调试,我发现了这个语句:

$(this)[widget.widgetName](widget.attributes);

其中 widget.widgetName = 图表

jquery中这条语句是什么意思?

在堆栈中我看到 jquery_ui 调用 jquery-ui 的 _createwidget

为什么 createwidget 被调用?

问候, 约西

4

3 回答 3

2

$(this)[widget.widgetName]使用方括号表示法来指代值为 的属性widget.widgetName。有关方形后退和“点表示法”之间的比较,请参阅MDC 文章

正如你所说,它指的是widget.widgetNamechart

$(this).chart

然后(widget.attributes);只是简单地调用函数并widget.attributes作为第一个也是唯一的参数传递:

$(this).chart(widget.attributes);

至于“为什么会调用 createwidget?” 该chart()函数必须调用它,无论是隐式(通过另一个函数)还是显式。

于 2012-05-09T10:49:32.603 回答
2
$(this)[widget.widgetName] 

指的是widget.widgetName定义的$(this)的属性

在这种情况下,它只是

$(this).chart
于 2012-05-09T10:52:12.103 回答
0

$(this)指的是一个 jQuery 对象。在这种情况下,您位于事件处理程序、元素选择器或其他类型的 jQuery 上下文中,其中$(this)引用外部选择器中的 jQuery 对象。

于 2012-05-09T10:48:12.277 回答