在外部js文件中从xhtml调用JQuery函数

时间:2014-02-18 17:09:04

标签: javascript jquery html function

我在外部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;功能未找到。

1 个答案:

答案 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>