根据这个StackOverflow答案 (什么是jQuery.fn?),在
调用这些方法的变量是什么?
jQuery.fn.jquery
中的fn属性是prototype属性的别名。我假设在下面这两个方法中也是一样的,它们的完整代码如下:
$.fn.map = function()
和 $.fn.tweets = function()
那么我的问题是,如果例如$.fn.tweets
使用原型来创建一个tweets方法,那么使用$('tweets').tweets
这段代码会调用它吗?var $tweets = $('#tweets').tweets({
query: buildQuery(approxLocation),
template: '#tweet-template'
});
请问,如果是这样,它可能如何触发该方法呢?例如,在文件加载时创建变量是否会触发该函数,该函数内还有其他方法,即查询?感谢您的帮助。
方法的完整代码
$.fn.map = function(method) {
console.trace();
console.log(method);
if (method == 'getInstance') {
console.log("fn.map");
return this.data('map');
}
return this.each(function() {
var $this = $(this);
var map = $this.data('map');
if (map && MyMap.prototype[method]) {
map[method] (Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
var options = method;
$this.data('map', new MyMap( this, options ));
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.map' );
}
});
}
$.fn.tweets = function(method) {
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.tweets' );
}
}
调用这些方法的变量是什么?
var $tweets = $('#tweets').tweets({
query: buildQuery(approxLocation),
template: '#tweet-template'
});
var $map = $('#map').map({
initialLocation: approxLocation,
radius: 1000,
locationChanged: function(location) {
$tweets.tweets('setQuery', buildQuery(location));
}
});
$
е‡Ңж•°е†…йѓЁпәЊйЂљиү‡new
е€›е»ғдғ†е®һй™…зљ„jQueryжһ„йЂ е‡Ңж•°е®һдң‹е№¶иү”е›һгЂ‚иҮ·жџӨзњ‹ж¤з”жҰ€д»Өдғ†и§Әе…¶е†…йѓЁжњғ制。 - Bergi