【发布时间】:2014-11-12 09:45:24
【问题描述】:
我正在将一个应用集成到 Shopify。我目前正在测试我们的外部 js 文件。我们看到了一些奇怪的结果。当我使用此代码时:
jQuery(document).ready(function(){
console.log("hi");
});
“嗨!”出现在控制台中。但是当我使用时:
window.onload = function() {
console.log("hi!");
}
...什么也没发生。我推测还有另一个 onload 事件处理程序稍后发生并覆盖我的,但即使我尝试在 js 中执行 jquery 等效:
window.DOMContentLoaded = function() {
console.log("hi!");
}
...仍然没有任何反应。任何想法为什么会这样,有没有办法让我的脚本与 (document).ready 的等价物一起运行,而不必求助于 jQuery(因为有些客户可能没有运行它)?
【问题讨论】:
-
只是好奇为什么不使用 JQuery 如果它有效?如果客户没有运行 Javascript,那么这两种方法都不起作用,但如果是,那么它只会下载 JQuery。
-
DOMContentLoaded不是属性,而是通过document.addEventListener('DOMContentLoaded', function() { ... ])或doument.attachEvent('onDOMContentLoaded', function() { ... })进行的事件访问 -
可能有另一个侦听器停止传播。我尝试通过 JS 搜索其他一些侦听器。
标签: javascript jquery onload