各位好,我用My97这个时间控件,当下拉列表选择为“入库时间”时,为文本框增加onfocus事件,显示my97控件成功;但选择其他时,不提示错误,可怎么也取消不了这个onfocus事件,请问该怎么弄?(IE8)
<asp:DropDownList ID="ddl1" runat="server" onchange="PickDate(this.value)"></asp:DropDownList>
<asp:TextBox ID="tbKeyWords1" runat="server"></asp:TextBox>
      function PickDate(p)
      {
        var t1=document.getElementById('tbKeyWords1');
        if(p=="入库时间")
            t1.attachEvent('onfocus',WdatePicker);  //t1.onfocus=WdatePicker;也可以
        else
            t1.detachEvent('onfocus',WdatePicker);
      }

解决方案 »

  1.   

    function PickDate(p)
          {
            var t1=document.getElementById('tbKeyWords1');
            if(p=="入库时间")
                t1.attachEvent('onfocus',WdatePicker);  //t1.onfocus=WdatePicker;也可以
            else{
                alert("lz先看看这里执行了没");
                t1.detachEvent('onfocus',WdatePicker);
            }
          }
      

  2.   

    执行了,加个alert,当选择“入库时间”时,attachEvent返回True,当选择其他时,detachEvent返回undefined
      

  3.   

    用jQuery删除吧,他里面封装好了,不用在考虑多浏览器问题。
    jQuery.unbind("focus");
      

  4.   

    这里有详细介绍和使用方法
    IE:http://www.web666.net/dom/detachEvent.html
    FF:http://www.web666.net/dom/removeEventListener.html