更新 对不起那个冗长的愚蠢问题。我的选择器出了问题。忽略帖子!
我有一个具有公共功能的小部件。我通常可以称之为:
$("#mygrid").myGrid( "MyFunction", args );
问题:
但在某些情况下,该功能未被调用。
以下是一些琐事
现在,这里有一些重要信息。
问题小部件中的类似功能有效,当我进入调用时,我发现 jquery-ui.js 中以下函数中的两个调用都有所不同:
$.widget.bridge = function( name, object ) {
var fullName = object.prototype.widgetFullName || name;
$.fn[ name ] = function( options ) {
var isMethodCall = typeof options === "string",
args = slice.call( arguments, 1 ),
returnValue = this;
// allow multiple hashes to be passed on init
options = !isMethodCall && args.length ?
$.widget.extend.apply( null, [ options ].concat(args) ) :
options;
if ( isMethodCall ) {
this.each(function() {
var methodValue,
// Rest of the code.
这里,对于未被调用的函数,它不会进入this.each
。当我检查this
指针时,有一个区别。
对于要调用的函数,this
的内容如下所示:
0: div#myGrid
context: document
length: 1
selector: "#mygrid"
__proto__: Object[0]
但是对于未被调用的函数,缺少第一个项目和length属性。
context: document
selector: "#mygrid"
__proto__: Object[0]
可能是什么问题?