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>
<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元素的事件,是一个函数,而不是单纯的字符串