我正在编写一个 jQuery 插件,并且我只想将该插件附加到选定的元素,只有当它存在时,没有任何点击或其他事件。
这个插件有其他链式函数,我想在这个插件附加到那个元素时调用这个函数。
我想将该元素作为对象传递给链式函数。
但是我收到此错误消息,并且该插件当然不起作用!无论我使用each
还是ready
在该插件中,我都会收到相同的错误
return this.each(function() {...}
return this.ready(function() {...)
类型错误:$this.function_1 不是函数
我该如何做对?
jQuery,
$(document).ready(function(){
$('.box').selection();
});
(function($){
$.fn.extend({
selection: function(options) {
var defaults = {
element: "selection"
}
var options = $.extend(defaults, options);
var o = options;
// Must declare a this variable outside the core if you have other children functions inside this plugin.
var $this = this;
return this.each(function() {
// Set the object.
var object = $(this);
//alert(object.html());
// Attach the functions.
$this.function_1(object);
$this.function_2(object);
});
// function_1
$this.function_1 = function(object)
{
alert('function 1');
}
// function_2
$this.function_2 = function(object)
{
alert('function 2');
}
}
});
})(jQuery);
html,
<div class="box">
<ul class="selection">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>