(function($) {
$.fn.extend({
clock: function(options) {
var options = $.extend(defaults, options);
.......
.......
return this.each(function() {
var prev = function() {
console.log("hello world!");
alert('getweather');
};
$('#left').click(function() {alert(342);});
});
})(jQuery);
如何从代码
中调用插件函数prev和$('#left') $.fn.clock().prev(); //doesn't work
$.fn.clock('#left'); //doesn't work
提前致谢
答案 0 :(得分:0)
根据提供的代码,您不能。是不可能的。该函数被分配给局部变量prev
,该变量不会以任何方式暴露在本地范围之外。
如果你想让它可以访问,你需要将函数存储在某个地方,这样它就不会超出范围,然后提供一些接口,通常是通过$('my-element').clock('prev')
之类的东西。 jQuery Plugin Authoring解释了这方面的最佳做法,特别是在Plugin Methods下。
答案 1 :(得分:0)
这些是anonymous
个函数。即使它们在您的范围内,您也无法打电话给它们。
解决方法是在click
上触发#left
事件:
$('#left').trigger('click');