//我想实现当DropDownList2的值是"--不选--"时,删除textbox1的onfocus事件
//当值是"竣工时间"时textbox1增加onfocus事件并指向WdatePicker()函数
//当值是"名称"时textbox1增加onfocus事件并指向crdiv()函数
//现在问题是增加事件没有问题,但就是删除不了,如何修改   function onchange1()
   {
    var drp2 = document.getElementById("DropDownList2");
    var v = drp2.options[drp2.selectedIndex].innerText;
    var o = document.getElementById("TextBox1");
    var ev1 = function(){WdatePicker()};
    var ev2 = function(){crdiv(o,'Windows|Mac Os|Linux|Unix')};
//    document.getElementById("TextBox1").onfocus=null;
    o.detachEvent("onfocus",ev1);
    o.detachEvent("onfocus",ev2);
    if (v == "--不选--") 
    {
      o.detachEvent('onfocus',ev1);
      o.detachEvent('onfocus',ev2);
    }
    if (v == "竣工日期") o.attachEvent('onfocus', ev1);
    if (v == "名称") o.attachEvent('onfocus', ev2); 
   }

解决方案 »

  1.   

    IE:
    o.detachEvent('onfocus',ev1);
      

  2.   


        var ev1 = function(){alert("ev1");};
        var ev2 = function(){alert("ev2");};
       function onchange1()
       {
        var drp2 = document.getElementById("DropDownList2");
        var v = drp2.options[drp2.selectedIndex].innerText;
        var o = document.getElementById("TextBox1");
    //    document.getElementById("TextBox1").onfocus=null;
        o.detachEvent("onfocus",ev1);
        o.detachEvent("onfocus",ev2);
        if (v == "竣工日期") {o.attachEvent('onfocus', ev1);}
        if (v == "名称") {o.attachEvent('onfocus', ev2); }
       }