JavaScript-nubie、window.onlaod和iLife
我这里有一个失物招领- 这是一个按钮上的简单事件 对于window.onload,它起作用,但对生活不起作用 我以为iLife会在创建后运行,所以这不是像窗口加载后一样吗JavaScript-nubie、window.onlaod和iLife,javascript,iife,Javascript,Iife,我这里有一个失物招领- 这是一个按钮上的简单事件 对于window.onload,它起作用,但对生活不起作用 我以为iLife会在创建后运行,所以这不是像窗口加载后一样吗 // (function(){ // var btn = document.getElementById('btn1'); // btn.addEventListener('click', function(){ // alert('Hi'); // })
// (function(){
// var btn = document.getElementById('btn1');
// btn.addEventListener('click', function(){
// alert('Hi');
// })
// })();
window.onload = function(){
var btn = document.getElementById('btn2');
btn.addEventListener('click', function(){
alert('Hi');
})
};
我以为生命一旦被创造出来就会开始
当然可以。(已经有点名副其实了…)
那么,这不是像窗口加载后那样吗
// (function(){
// var btn = document.getElementById('btn1');
// btn.addEventListener('click', function(){
// alert('Hi');
// })
// })();
window.onload = function(){
var btn = document.getElementById('btn2');
btn.addEventListener('click', function(){
alert('Hi');
})
};
这就是问题所在
您的脚本资源嵌入在头部,这意味着在执行时,您试图通过其id选择的HTML元素还不存在
因此,您需要在元素存在(窗口加载、DOMContentReady)之后执行此操作,或者在相关HTML元素之后嵌入外部脚本资源。(无论如何,将脚本放在正文末尾是一般性能建议。)
我以为生命一旦被创造出来就会开始
当然可以。(已经有点名副其实了…)
那么,这不是像窗口加载后那样吗
// (function(){
// var btn = document.getElementById('btn1');
// btn.addEventListener('click', function(){
// alert('Hi');
// })
// })();
window.onload = function(){
var btn = document.getElementById('btn2');
btn.addEventListener('click', function(){
alert('Hi');
})
};
这就是问题所在
您的脚本资源嵌入在头部,这意味着在执行时,您试图通过其id选择的HTML元素还不存在
因此,您需要在元素存在(窗口加载、DOMContentReady)之后执行此操作,或者在相关HTML元素之后嵌入外部脚本资源。(无论如何,将脚本放在正文末尾是一项一般性能建议。)“将在创建脚本后运行”-值“it”等于函数而不是元素。@Quentin是的,当然;我认为这也是OP的意思。“一旦创建它就会运行”-因为“it”的值等于函数而不是元素。@Quentin是的,当然;我想这也是OP的意思。