设置了trArr.setAttribute("onDblClick",null);为什么表格还可以双击呢。
我的目的是,在双击表格的时候是无效的,即不执行alert方法。请问如何做到呢。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<script>
function test(){  

for(var i=1;i<3;i++){
var trArr  = document.getElementById("t"+i);
trArr.setAttribute("onDblClick",null);
}
}
</script>
</head><body onLoad="test();">
<table width="90%"  border="1">
  <tr id="t1" onDblClick="alert(1);" >
    <td>aaa</td>
    <td>bbb</td>
  </tr>
  <tr id="t2" onDblClick="alert(2);">
    <td>xxx</td>
    <td>yyy</td>
  </tr>
</table></body>
</html>

解决方案 »

  1.   

    function test(){ 
        for(var i=1;i <3;i++){ 
            var trArr  = document.getElementById("t"+i); 
            trArr.onDblClick = null; 
        } 
    } 这样试试
      

  2.   

    trArr.onDblClick = null; 
    这个我试验了,不行啊。
      

  3.   

    删除事件只能删除本是添加上去的事件
    象直接赋予的事件则不能删除<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var EventUtil=new Object;
    //oTarget:目标;sEventType:事件名称;funName:事件触发的函数名;
    EventUtil.addEvent = function(oTarget,sEventType,funName){
    if(oTarget.addEventListener){//for DOM;
    oTarget.addEventListener(sEventType,funName, false);
    }else if(oTarget.attachEvent){
    oTarget.attachEvent("on"+sEventType,funName);
    }else{
    oTarget["on"+sEventType]=funName;
    }
    };
    EventUtil.removeEvent=function(oTarget,sEventType,funName){
    if(oTarget.removeEventListener){//for DOM;
    oTarget.removeEventListener(sEventType,funName, false);
    }else if(oTarget.detachEvent){
    oTarget.detachEvent("on"+sEventType,funName);
    }else{
    oTarget["on"+sEventType]=null;
    }
    };
    function test(){
    for(var i = 1 ;i < 3; i++){
    var trArr  = document.getElementById("t"+i);
    //trArr.setAttribute("onDblClick",null);
    //alert(trArr);
    //trArr.setAttribute("onDblClick","alert(1);");
    EventUtil.addEvent(trArr,"click",fn);
    //trArr.attachEvent('onclick', fn)
    }

    function removeEvent(){
    for(var i = 1 ;i < 3; i++){
    var trArr  = document.getElementById("t"+i);
    EventUtil.removeEvent(trArr,"click",fn);
    }
    }
    function fn(){
    alert();
    }
    //-->
    </SCRIPT>
    </HEAD><BODY onload="test()">
    <input type="button" value="remove" onclick="removeEvent()" />
    <table width="90%"  border="1">
      <tr id="t1" >
    <td>aaa </td>
    <td>bbb </td>
      </tr>
      <tr id="t2" onclick="fn();">
    <td>xxx </td>
    <td>yyy </td>
      </tr>
    </table> 
    </BODY>
    </HTML>
      

  4.   

    虽然不知道楼主为什么要这么做。
    但是可不可以重写那个处理ondbclick事件的方法?
      

  5.   

    onDblClick --------->ondblclick
    js 是区分大小写的.