关于 event 对象的属性问题
问题都已描述到下面的 代码中:为什么这里设置 event.data 后,属性有效。而 fnTest 函数中,设置了属性 ret是 undefined?
另外,为什么设置的 数组类型的属性后,event.data 的类型发生改变了呢?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<input type='button' value='Test' onclick='fnTest()'><br/>
<input type='button' value='Test2' onclick='fnTest2()'>
<script>
function fnTest()
{
alert(event.srcElement.value);
var arr = new Array("abc","bdd");
event.ret = {name:'abc'};
alert(event.ret);
event.data = arr;
alert( typeof event.data); // 数据类型也变了呢?
// 为什么数组的长度变成 7了呢?
alert(event.data.length);
}
function fnTest2()
{
// 为什么这里设置 event.data 后,属性有效。而 fnTest 函数中,设置了属性 ret是 undefined?
event.data =1;
alert(event.data);
}
</script>
</BODY>
</HTML>
------解决方案--------------------<input type='button' value='Test' onclick='fnTest(event)'>
<script type="text/javascript">
function fnTest(e){
var obj=e.target
------解决方案--------------------
e.srcElement;
obj.ret = {name:'abc'};
alert(obj.ret.name);
var arr = new Array("abc","bdd");
obj.data = arr;
alert(obj.data.length)
}
</script>
------解决方案--------------------没问题 chrome下。
怎么event也可以写,我以前还以为event是只读的,
------解决方案--------------------测试了下,ie8 data属性能存储字符内容,其他自定义的属性好像存储不了,都是undefined
alert(event.data.length);输出7是应为data存储的是字符串abc,bdd,长度为7