<div> <span></span> </div>
function fun_1(str){ console.log(str); } window.onload = function(){ var div = document.getElementsByTagName("div")[0]; var span = div.getElementsByTagName("span")[0]; var strDiv = "div焦点"; var strSpan = "span焦点"; div.onclick = fun_1(strDiv); span.onclick = fun_1(strSpan); }
这样写的话,页面加载完成后,会直接打印,点击事件无效。
但如果写成匿名函数,在其中调用
div.onclick = function(){fun_1(strDiv)}; span.onclick = function(){fun_1(strSpan)};
这样就正常了,请问这是为什么。
函数调用和onclick事件
js 点击事件调用C#后台方法,第二次点击才有用?
js中的事件和原生
webpack打包后的文件中方法的调用