function test(){
alert(this);//alerts oblect
alert(this.id);//alerts undefined
}
<input type="text" onKeyPress="test();" id="text1">
为什么alert(this.id)警告未定义?这是因为 此 会返回文档对象吗?
谢谢
答案 0 :(得分:3)
你的代码应该是。
function test(objRef){
alert(objRef);//alerts oblect
alert(objRef.id);//alerts undefined
}
<input type="text" onKeyPress="test(this);" id="txtNum" />
编辑:您也可以使用以下代码。
<script type="text/javascript">
window.onload = function() {
var txtnum = document.getElementById("txtNum");
txtnum.onkeypress = function() {
alert(this);
alert(this.id);
};
};
</script>
<input type="text" id="txtNum" />
答案 1 :(得分:2)
this
是窗口实例。在浏览器中试用:
javascript:alert(this)
我得到[object Window]
答案 2 :(得分:0)
在全局范围内,上下文(this)是windows,因为window没有未定义的名为“id”的属性。