我正在使用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编写的。