jQuery 具有“就绪”功能:
$(function() {...});
cordova 文档说要添加一个事件监听器:
document.addEventListener("deviceready", onDeviceReady, false();
function onDeviceReady(){...}
我是否需要同时调用这两个库以确保在使用任何引用它们的代码之前加载这两个库?
嵌套它们是否有意义,即:
$(function(){
onDeviceReady(){...}
}
只是想找出最好的方法,也许我想多了
最佳答案
JS文件是顺序加载的。因此,在您的 HTML 中,只需将您的 .js 文件放在 jQuery 和 cordova 之后,它就不会在两者都加载之前运行。
<script src="jQuery"></script>
<script src="cordova"></script>
<script src="yourScript"></script> <!-- this won't run before both jQ and cordova are loaded -->
至于就绪事件,如果你不想嵌套它们,你可以为所有库就绪时构建自己的事件:
var listener = {
jquery: false,
cordova: false,
fire: function(e) {listener[e] = true; if (listener.jquery && listener.cordova) go();
};
document.addEventListener("deviceready", function(){listener.fire('cordova'), false();
$(document).ready(function(listener.fire('jquery')){});
function go() {
// your code here
}
这会起作用,并且 go() 会在加载所有内容时触发,但是我真的不确定您是否真的需要所有这些,是否有更简单的方法来做到这一点。
关于javascript - 我如何等待 Cordova 和 jQuery 加载它们的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19365777/