querySelector无法绑定onclick
问题描述
用querySelector()选择器获取一个Button并且为Button绑一个onclick事件,结果点击发现没有反应。
var btn = document.querySelector("#btn");
btn.onclick=function(){
console.log('btn.onclick');
}
接下来我做了一些测试
先是用getElementById()试一下
var btn = document.getElementById("btn");
btn.onclick=function(){
console.log('btn.onclick');
}
点击Button发现可以正常打印。
我就有点好奇了,这是什么原因呢?
接下来就是各种测试:
//为了偷懒少写点代码,我把执行函数提取出来给一个变量。
var btnClick=function(){
console.log('btn.onclick');
}
//var btn1 = document.getElementsById("btn");
//btn1.onclick=btnClick;
//var btn2 = document.createElement("button");
//btn2.onclick=btnClick;
//document.body.appendChild(btn2);
var btn3 = document.querySelector("#btn");
btn3.onclick=btnClick;
发现在注释另外两种代码的情况下btn3竟然可以打印了。
结论
可能是我搞错了,好像没问题 0.0!