<script type="text/javascript"> function a(){alert("tag");} var tst; function addEvent(){ var btnDemo = document.all["btnDemo"]; if(!tst){btnDemo.onclick="";}; btnDemo.detachEvent("onclick",a); btnDemo.attachEvent("onclick",a); } </script> FF用removeEventListener和addEventListener.
或者? 重新编一个addEvent() function addEvent(obj,evt,fn) { if (obj.addEventListener) obj.addEventListener(evt,fn,false); else if (obj.attachEvent) obj.attachEvent('on'+evt,fn); else obj["on" + evt] = fn; } 再加一个removeEvent() function removeEvent(obj,evt,fn) { if (obj.removeEventListener) obj.removeEventListener(evt,fn,false); else if (obj.detachEvent) obj.detachEvent('on'+evt,fn); else obj["on" + evt] = null; }
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript" language="javascript">
function addEvent(){
var obj = document.getElementById('btnDemo');
obj.setAttribute('onclick',null);
obj.onclick =function(){
alert("tag");
}
}
</script>
</HEAD>
<BODY>
<input id="btnDemo" onclick="alert('abc');" type="button" value="click"/>
<input type="button" onclick="addEvent()" value="attachEvent"/>
</BODY>
</HTML> attachEvent 在 FF 下没法用
但attachEvent 在 FF 下没法用 是什么意思?
attachEvent ('onmouseout', Restore);
function cleanup()
{
detachEvent ('onmouseover', Hilite);
detachEvent ('onmouseout', Restore);
}
function a(){alert("tag");}
var tst;
function addEvent(){
var btnDemo = document.all["btnDemo"];
if(!tst){btnDemo.onclick="";};
btnDemo.detachEvent("onclick",a);
btnDemo.attachEvent("onclick",a);
}
</script>
FF用removeEventListener和addEventListener.
重新编一个addEvent()
function addEvent(obj,evt,fn) {
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
else
obj["on" + evt] = fn;
}
再加一个removeEvent()
function removeEvent(obj,evt,fn) {
if (obj.removeEventListener)
obj.removeEventListener(evt,fn,false);
else if (obj.detachEvent)
obj.detachEvent('on'+evt,fn);
else
obj["on" + evt] = null;
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>事件</title>
<script type="text/javascript">
var btn;
/**
* 事件
*/
function fnEvent()
{
alert("事件");
btn.onclick = null;
}
/**
* 入口
*/
window.onload = function()
{
btn = window.document.getElementById("btn");
btn.onclick = fnEvent;
}
</script>
</head>
<body>
<input type="button" id="btn" name="btn" value="button"/>
</body>
</html>