jQuery UI 小部件选项和方法之间的语义区别是什么?
使用定义值选项的选项对象初始化 slider 小部件。
$('#mySlider').slider({ value: 10});
获取值选项。
var optValue = $('#mySlider').slider('option', 'value');
获取值(value)。
var methodValue = $('#mySlider').slider('value');
optValue 和 methodValue 是否可以不同?
最佳答案
简短的回答是,没有语义的区别。 option
仅调用底层的 get/set。
关于小部件方法:当您调用 $(element).widget("someMethod", parameters)
时(出于问题的目的)调用到 widgetPrototype.someMethod(parameters)
。
widget.("option", property)
是 widget 方法的一个特例。作为 getter,它直接进入底层 options
对象,但作为 setter 调用 widget._setOptions()
函数。来自文档:
option( options )
Returns: jQuery (plugin only)
Sets one or more options for the widget.
options Type: Object A map of option-value pairs to set.
下面是发生的事情的分割:
$('#mySlider').slider({ value: 10});
// call the slider widget's initialiser with parameter {value:10}
var optValue = $('#mySlider').slider('option', 'value');
// call the slider widget's .option() method with parameter value
var methodValue = $('#mySlider').slider('value');
// calls the slider widget's .value() method.
//
// EDIT: Yes, this CAN be different from .option(value)
// It falls on the implementer to document their widget well
// enough that users know what's going on
//
// Having said that, I have yet to see a popular jquery widget
// where .someWidgetOption() is not just a shortcut to .option("someWidgetOption")
关于javascript - jQuery UI 选项与方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23657757/