提个关于用js设置事件的问题,明明设置了,动态代码却没有,但可执行。
HTML:<input type="button" value="testBtn2" onclick="testBtnClick2();" />
<input id="testBtn3" type="button" value="testBtn3" onclick="testBtnClick3();" />
JavaScript:
function testBtnClick2() {
var testBtn3 = document.getElementById("testBtn3");
alert("testBtn3.outerHTML 1=" + testBtn3.outerHTML);
var btn3onclick = testBtn3.onclick
testBtn3.onclick =null;
testBtn3.onclick = btn3onclick;
alert("testBtn3.outerHTML 2=" + testBtn3.outerHTML);
}
function testBtnClick3() {
alert("click3");
}
操作过程:
1。页面打开后,先按按钮2
两次alert内容分别为:<INPUT id=testBtn3 onclick=testBtnClick3); type=button value=testBtn3>
<INPUT id=testBtn3 type=button value=testBtn3>
2。按按钮3
可以弹出对话框"click3"
问题:
1。testBtnClick2方法中,一度将按钮3的onclick事件清空,但立即又将其还原。为什么两次alert的内容会不一样?
2。第二次的alert结果中,按钮3明明没有onclick事件,为什么按按钮3后,可以正常弹出对话框"click3"?
3。另外,如果把testBtn3.onclick = btn3onclick;这句话删掉,按按钮3就不能弹出对话框"click3"了,这点倒是可以理解,因为变成null了嘛。
请高手赐教!!!!