MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
          遇到一個需求,需要根據當前頁面的狀態動態設置定義在input上的my97日期控件的onfocus事件是否啟用。幾經周折,才搞定。
          對于已經寫在input上的onfocus事件:
          <input?type="text"?name="finishtime"?id="finishtime"??readonly="readonly"
          ?onfocus
          =WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd?HH:mm'})?class="Wdate">
          我用jquery的unbind函數死活都解決不了。
          最后只能用IE的detachEvent來解決,而用這個detachEvent又有兩個要注意的:
          (1)detachEvent的事件必須是先前attachEvent的。
          (2)函數不能帶參數,故用了個自定義的無參的my97dp函數來中轉。
          真是搞不懂,又不能專門花時間來把js事件機制搞得很清楚。
          代碼如下:
          ?<script>
          ?
          function?my97dp(){
          ?WdatePicker({skin:'whyGreen',dateFmt:'yyyy
          -MM-dd?HH:mm'});
          ?}
          ?jQuery(
          function(){
          jQuery('#finishtime').get(
          0).attachEvent('onfocus',my97dp);
          ?
          var?status='${obj.status}';
          ?
          if(status=='2'||status=='3'){
          ?
          var?t=jQuery('#finishtime').addClass('readonly')
          ?.attr('readonly',
          true).removeClass('Wdate').get(0);
          ?t.detachEvent('onfocus',my97dp);
          ?}
          ?});
          ?
          </script>
          ?
          <input?type="text"?name="finishtime"?id="finishtime"?readonly="readonly"?class="Wdate">


          評論

          # re: 如何取消已經注冊在input上的onfocus事件,以及unbind的問題  回復  更多評論   

          2009-01-15 01:34 by otto
          unbind當然不行,它只能處理bind上去的事件

          可以用這樣的方式
          $('input').each (function(){this.onfocus="";});
          修改一下即可
          主站蜘蛛池模板: 蛟河市| 安阳县| 拜泉县| 渭南市| 永靖县| 甘德县| 连平县| 时尚| 上虞市| 达州市| 承德县| 镶黄旗| 新昌县| 桓台县| 黑水县| 开平市| 遂川县| 赣州市| 安平县| 舟曲县| 宣汉县| 平邑县| 玉山县| 丰原市| 芦山县| 姜堰市| 社会| 丹江口市| 太和县| 独山县| 禹城市| 博湖县| 福建省| 新竹县| 蚌埠市| 滨州市| 枝江市| 广州市| 砚山县| 左贡县| 额敏县|