getAttribute在IE、Firefox中获取事件函数的不同表现

来看看ie下getAttribute的奇怪表现: 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>无标题页</title>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<script type="text/javascript">
function say(){
alert(
"好懒啊,什么都不想写。。")
}

function getBtnAttribute(){
var attr = document.getElementById("btnWrite").getAttribute("onclick");
alert(attr);
}

function getAttrToOtherOne(){
var attr = document.getElementById("btnWrite").getAttribute("onclick");
}

function copyFn(ele){
alert(
"我要将“写点东西吧”按钮上的onclick用getAttribute获得到后给其他dom!(IE)")
var attr = document.getElementById("btnWrite").getAttribute("onclick");
ele.onclick
= attr
}

function useAttr(){
var attr = document.getElementById("btnWrite").getAttribute("onclick");
attr();
}

</script>
</head>
<body>
<input id="btnWrite" type="button" value="写点东西吧" onclick="say()" />
<input type="button" value="getAttribute在IE和firefox的表现" onclick="getBtnAttribute()" />
<hr />
<input type="button" value="ie下用getAttribute获得到onclick对象可以直接赋给其他Dom???" onclick="copyFn(this)"/>
<hr />
<input type="button" value="ie下用getAttribute获得到onclick对象并直接使用" onclick="useAttr()" />
<!--简单的说ie下用getAttibute获得dom元素的事件,是一个函数,而不是单纯的字符串-->
</body>
</html>

可以把以上代码搞下来运行试试:
-------------------------------------------------------------------------------

看图:

firefox:

IE:

------------------------------------------------------------------
在看看IE下其他按钮点击后有什么表现:


简单的说就是:ie下用getAttibute获得dom元素的事件,是一个函数,而不是单纯的字符串

posted on 2011-05-27 09:38  LiemKell  阅读(1050)  评论(2编辑  收藏  举报

导航