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

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

          記錄如下:
          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();

                  }
              }

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


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

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 917238
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 大英县| 珲春市| 延川县| 全椒县| 桐城市| 房山区| 德庆县| 阳泉市| 建阳市| 武隆县| 伊通| 承德市| 阳朔县| 双峰县| 高雄市| 葵青区| 托克托县| 平顶山市| 靖安县| 浦东新区| 和平县| 建瓯市| 东乌| 长沙县| 九龙坡区| 孝昌县| 长阳| 上杭县| 留坝县| 平阳县| 石河子市| 西乡县| 武川县| 贵德县| 黑龙江省| 万年县| 广昌县| 五华县| 铜川市| 清水县| 尤溪县|