我在外部js文件中定义了一个jquery函数: myJquery.js
(function($) {
$.fn.test = function (options) {
//Extended default options
var opts = $.extend({
chars: 0
}, options);
...doSomething...
})(jQuery);
将此文件以xhtml格式化为:
<script type="text/javascript" src="_/js/myJquery.js"/>
并尝试访问:
$(document).ready(function() {
$("input.testClass").each(function() {
$(this).test({
chars:10
});
});
});
但是让js错误说&#39;测试&#39;功能未找到。
答案 0 :(得分:0)
您的test
函数的作用域是外部文件空间,而不是全局环境。如果您确定jQuery具有$
的命令,那么在没有function($)
包装器的情况下附加您的函数。
编辑:虽然上述内容可能仍然与其他人相关......但在}
到位时,它确实可以正常工作(至少只是为了显示警报):
包含<script type="text/javascript" src="testing.js"></script>
(function($) {
$.fn.test = function (options) {
//Extended default options
var opts = $.extend({chars: 0}, options);
alert('boo: '+opts.chars);
}
})(jQuery);
页面中的:
<script type="text/javascript">
$(document).ready(function() {
$("h1").each(function() {
$(this).test({
chars:10
});
});
});
</script>