小程序目的:在页面创建一个按钮,按此按钮调用createNewButton()函数创建一个新的按钮,按新的按钮调用show()函数在页面显示“new button content..."。
实际创建新按钮后创建属性setAttribute("onclick","show()"),使用ie浏览器打开,显示新按钮的onclick属性不起作用,为什么?如利用setAttribute创建的属性调用其他函数,应如何写?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>attrTest</title>
<script>
function createNewButton(){
var body=document.getElementById("body");
var newBtn=document.createElement("input");
newBtn.setAttribute("type","button");
newBtn.setAttribute("value","show text");
newBtn.setAttribute("onclick","show()");//此句似乎在ie浏览器不起作用,无法调用show()函数
body.appendChild(newBtn);
}
function show(){
document.getElementById("txt").innerHTML="new button content....";
}
</script>
</head>
<body id="body">
<p id="txt">new button text show here</p>
<input type="button" onclick="createNewButton()" value="Create new button"/>
</body>
</html>
------解决方案--------------------
newBtn.onclick = show;//ie浏览器要这样写
------解决方案--------------------
function a (){ alert(1) }
var s = a;
var s = a();
你觉得区别在那里呢?
------解决方案--------------------
函数带参数必须这样