У меня есть функция 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' не найдено.
Ваша 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>