Вызов функции JQuery из xhtml во внешнем js-файле

0

У меня есть функция jquery, определенная во внешнем файле js: 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 error с помощью функции 'test' не найдено.

Теги:
function

1 ответ

0

Ваша test функция привязана к внешнему файловому пространству, а не к глобальной среде. Если вы уверены, что jQuery имеет команду $ добавьте свою функцию без оболочки function($).

EDIT: в то время как вышеупомянутое может по-прежнему быть релевантным для других... он отлично работает (по крайней мере, для демонстрации предупреждения) с помощью }:

внешний файл, вложенный с помощью <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>
  • 0
    я удалил функцию ($) из myJquery.js (убрал первую и последнюю строчку сверху фрагмента myJquery.js), но все еще остался той же проблемой. Правильно ли я понял ваше предложение !!
  • 0
    Хорошо, даже не заметил, но вам не хватает фигурной скобки, чтобы закрыть объявление функции.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню