Javascript 找不到自定义jQuery插件

Javascript 找不到自定义jQuery插件,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,我在myPlugin.js中开发了一个jQuery插件,如下所示: (function ($) { $.fn.myPlugin = function (options) { var defaults = {}; var settings = $.extend(defaults, options); return this.each(function () { this.sayHello = function (

我在myPlugin.js中开发了一个jQuery插件,如下所示:

(function ($) {
    $.fn.myPlugin = function (options) {

        var defaults = {};

        var settings = $.extend(defaults, options);

        return this.each(function () {
            this.sayHello = function () {
                alert('Hello!');
            };
        });
    };
})(jQuery);
myPlugin.sayHello();
我正在从另一个文件call.js调用
sayHello()
方法,如下所示:

(function ($) {
    $.fn.myPlugin = function (options) {

        var defaults = {};

        var settings = $.extend(defaults, options);

        return this.each(function () {
            this.sayHello = function () {
                alert('Hello!');
            };
        });
    };
})(jQuery);
myPlugin.sayHello();
myPlugin.js和call.js都包含在我的HTML文件中。当编译器到达行
myPlugin.sayHello()时它报告一个错误
未捕获引用错误:未定义myPlugin

我的代码有什么问题

更新

我找到了解决办法。在我的代码中,有一个地方初始化了一个特定元素上的插件,例如,
$(“#someElement”).myPlugin()。我只需要用
someElement.sayHello()调用一个插件函数,这就行了

另一种解决方案是@antyrat建议的。

(函数($){
$.fn.myPlugin=函数(选项){
var默认值={};
var设置=$.extend(默认值、选项);
返回此。每个(函数(){
this.sayHello=函数(){
警惕(“你好!”);
};
});
};
})(jQuery);
$('body').myPlugin();
console.log($('body'))
$('body')[0].sayHello()
(函数($){
$.fn.myPlugin=函数(选项){
var默认值={};
var设置=$.extend(默认值、选项);
返回此。每个(函数(){
this.sayHello=函数(){
警惕(“你好!”);
};
});
};
})(jQuery);
$('body').myPlugin();
console.log($('body'))
$('body')[0].sayHello()
(函数($){
$.fn.myPlugin=函数(选项){
var默认值={};
var设置=$.extend(默认值、选项);
返回此。每个(函数(){
this.sayHello=函数(){
警惕(“你好!”);
};
});
};
})(jQuery);
$('body').myPlugin();
console.log($('body'))
$('body')[0].sayHello()
(函数($){
$.fn.myPlugin=函数(选项){
var默认值={};
var设置=$.extend(默认值、选项);
返回此。每个(函数(){
this.sayHello=函数(){
警惕(“你好!”);
};
});
};
})(jQuery);
$('body').myPlugin();
console.log($('body'))
$('body')[0].sayHello()


不幸的是,它不起作用。它显示了一个错误
Uncaught TypeError:无法读取未定义的
@kiriz的属性“sayHello”
@kiriz您尝试在某些元素上调用它了吗<代码>$('body').myPlugin.sayHello()我做了,它说
未捕获类型错误:未定义不是函数
$('body').myPlugin().sayHello()也有同样的错误。感谢您的努力,但这次代码是
$('body').myPlugin()造成了一片混乱——在jquery文件中报告的第二秒内产生了大约100个错误。必须通过任务终止我的浏览器manager@kiriz你试过运行我的代码片段吗?它对我很有效。或者你的代码不同。你能做一个JSFIDLE演示什么的吗?不幸的是,它不起作用。它显示了一个错误
Uncaught TypeError:无法读取未定义的
@kiriz的属性“sayHello”
@kiriz您尝试在某些元素上调用它了吗<代码>$('body').myPlugin.sayHello()我做了,它说
未捕获类型错误:未定义不是函数
$('body').myPlugin().sayHello()也有同样的错误。感谢您的努力,但这次代码是
$('body').myPlugin()造成了一片混乱——在jquery文件中报告的第二秒内产生了大约100个错误。必须通过任务终止我的浏览器manager@kiriz你试过运行我的代码片段吗?它对我很有效。或者你的代码不同。你能做一个JSFIDLE演示什么的吗?不幸的是,它不起作用。它显示了一个错误
Uncaught TypeError:无法读取未定义的
@kiriz的属性“sayHello”
@kiriz您尝试在某些元素上调用它了吗<代码>$('body').myPlugin.sayHello()我做了,它说
未捕获类型错误:未定义不是函数
$('body').myPlugin().sayHello()也有同样的错误。感谢您的努力,但这次代码是
$('body').myPlugin()造成了一片混乱——在jquery文件中报告的第二秒内产生了大约100个错误。必须通过任务终止我的浏览器manager@kiriz你试过运行我的代码片段吗?它对我很有效。或者你的代码不同。你能做一个JSFIDLE演示什么的吗?不幸的是,它不起作用。它显示了一个错误
Uncaught TypeError:无法读取未定义的
@kiriz的属性“sayHello”
@kiriz您尝试在某些元素上调用它了吗<代码>$('body').myPlugin.sayHello()我做了,它说
未捕获类型错误:未定义不是函数
$('body').myPlugin().sayHello()也有同样的错误。感谢您的努力,但这次代码是
$('body').myPlugin()造成了一片混乱——在jquery文件中报告的第二秒内产生了大约100个错误。必须通过任务终止我的浏览器manager@kiriz你试过运行我的代码片段吗?它对我很有效。或者你的代码不同。你能做一个JSIDLE演示或者什么吗?为什么我会被否决?为什么我会被否决?为什么我会被否决?为什么我会被否决?为什么我会被否决?