菜鸟请教javascript问题
C# code
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function test() {
this.value = 1;
this.get = function () { alert(this.value); }
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="a" value="a" />
<input type="text" id="b" value="b" />
</div>
<script type="text/javascript">
var t = new test();
document.getElementById("a").onclick = function () { t.get()};//这个结果是1
document.getElementById("b").onclick = t.get();//这个效果是加载页面就会弹对话框显示1,怎么理解?
document.getElementById("b").onclick = t.get;//这个是取get值,所以点击b文本框时,取得b的value值显示b,可以理解
</script>
</form>
</body>
</html>
------解决方案--------------------
function () { t.get()};你定义了这个函数,a的click后调用这个函数,这个函数里有t.get();
对于 document.getElementById("b").onclick = t.get();当程序走到这里就会t.get()了
------解决方案--------------------执行function(){alert(this.value);}
getElementById("a").onclick 点击执行
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------打开页面执行执行function(){alert(this.value);}
a要点击执行才执行 function () { t.get()};
------解决方案--------------------
document.getElementById("b").onclick = t.get();
相当于
var a = t.get();
document.getElementById("b").onclick = a;
这样看明白了吧
------解决方案--------------------涉及js的函数及方法问题,比较饶人,回答的也饶人,围观,等澄清。
------解决方案--------------------
------解决方案--------------------C# code
function test() {
this.value = 1;
this.get = function () { alert(this.value); }
}
//执行test()方法当然要弹出1了