我正在使用 YepNope 加载 JavaScript。就我而言,该脚本仅在 Safari 中加载,而不在 Firefox 中加载。尽管如此,Firebug 还是给了我那个类型错误:
TypeError: $(...).html5form is not a function
html5form
是我在脚本加载后执行的回调中调用的函数的名称。当然,Firefox 也会解析那段代码,但没有加载脚本,我相信这就是该错误的原因。
有没有办法解决这个错误?我是否必须修复它,因为这样的错误会导致其他问题?
这就是我正在使用的代码:
(function($){
$( document ).ready( function() {
yepnope({
test: Modernizr.formvalidation,
nope: wpurls.siteurl + "/wp-content/themes/" + wpurls.template + "/js/jquery.html5form-1.5-min.js",
complete: function () {
$("#form").html5form({
async : false,
method : $(this).attr('method'),
responseDiv : "#test",
labels : "show",
colorOn : '#000000',
colorOff : '#a1a1a1',
action : $(this).attr('action'),
messages : "es",
emptyMessage : false,
emailMessage : false,
allBrowsers : false
});
}
});
});
})(window.jQuery);
因为Wordpress在无冲突模式下运行jQuery,所以不能$
直接使用,必须重新映射。也许s the problem? Because
jquery.html5form-1.5-min.js` 是用“普通” jQuery 编写的。