那天一位寫C++的同事問我,一段網頁里,選中了一段文字,當我們用鼠標點擊下網頁,選擇的文字就取消掉了。 但是當點擊到圖片上的時候,IE出現一個現象,選擇的文字并沒有取消。

          他把示例代碼發給我,我發現他已經給圖片加了事件響應,如果就在事件響應函數里,處理吧。 剛開始想用轉移焦點的思路,發現無效。 后面跟網友討論直接控制Selection選區完成了處理。

          記錄如下:
          var SelectImg;
              
          function OnMousedown(e)
              {
                  
          ifnull != SelectImg )
                  {
                      SelectImg.style.border
          ="1px solid #fff";    
                  }
                  
                  
          var targ;
                  
          if (!e) 
                      
          var e = window.event;
                  
          if (e.target) 
                      targ 
          = e.target;
                  
          else if (e.srcElement) 
                      targ 
          = e.srcElement;
                  
                  
          var tname;
                  tname 
          = targ.tagName.toLowerCase();
                  
                  
          if ( tname == "img" )
                  {
                      targ.style.border
          ="1px solid #000";
                      SelectImg 
          = targ;
                      document.selection 
          && document.selection.empty && ( document.selection.empty(), 1)
                      
          || window.getSelection && window.getSelection().removeAllRanges();

                  }
              }

             這樣解決了那位朋友的問題,當把示例代碼發過去,朋友很高興,不過問起:( document.selection.empty(), 1) 這是做什么? 我想也許不是寫JS的人,會有這個疑問,我在這里也介紹下,這是為了讓這個函數執行,并返回值 == 1 。


          posted on 2011-03-26 12:08 -274°C 閱讀(1882) 評論(0)  編輯  收藏 所屬分類: web前端

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914173
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 西充县| 喜德县| 石屏县| 通化市| 鄂托克前旗| 牡丹江市| 梅河口市| 沙坪坝区| 闽侯县| 乐都县| 无棣县| 洛浦县| 宝坻区| 鄂托克旗| 政和县| 晋江市| 内乡县| 巩义市| 大连市| 中阳县| 华安县| 广宗县| 阿瓦提县| 日土县| 达州市| 信丰县| 元氏县| 阳谷县| 永丰县| 保山市| 庄河市| 全南县| 岚皋县| 开化县| 资阳市| 高雄市| 棋牌| 东海县| 安溪县| 沐川县| 丰顺县|