Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
高级javascript在函数中调用插件函数_Javascript_Jquery - Fatal编程技术网

高级javascript在函数中调用插件函数

高级javascript在函数中调用插件函数,javascript,jquery,Javascript,Jquery,如何从下面的代码中调用插件函数prev和$'left' (function($) { $.fn.extend({ clock: function(options) { var options = $.extend(defaults, options); ....... ....... return this.each(function() { var prev = function() {

如何从下面的代码中调用插件函数prev和$'left'

 (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,它不会以任何方式暴露在局部范围之外

如果要使其可访问,需要将函数存储在某个位置,使其不会超出范围,然后提供一些接口,通常是通过类似$'my-element'.clock'prev'的方式。详细介绍了这方面的最佳实践,具体请参见。

这些是匿名函数。即使他们在你的范围内,你也不能给他们打电话

解决方法是在左侧触发单击事件:


您无法从该函数外部访问另一个函数范围内的函数。此外,您没有正确关闭该自执行函数,也没有向其传递jQuery,因为这可能是您的意图->函数${…}jQuery;,再说一次,看起来你没有把整个插件都放进去?
 $.fn.clock().prev(); //doesn't work

 $.fn.clock('#left');   //doesn't work
$('#left').trigger('click');