<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 跨瀏覽器問題

          2018-7-13    seo達人

          如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

          寫在前面的話

          關于跨瀏覽器問題一直是一個大問題, 所以我決定在此做一個記錄, 當然不可能把跨瀏覽器問題一下子都搞定, 所以該文章將是一個長期的過程, 當coding時遇到了, 就會完善該文。

          添加事件

          var EventUtil = { /*
               *添加事件
              */ addHandler: function(element, type, handler) { if(element.addEventListener){ element.addEventListener(type, handler, false)
                  }else if(element.attachEvent){ element.attachEvent('on'+type, handler)
                  }else{ element['on'+type] = handler
                  }
              }, /*
               *刪除事件
              */ removeHandler: function(element, type, handler){ if(element.removeEventListener){ element.removeEventListener(type, handler, false)
                  }else if(element.detachEvent){ element.detachEvent('on'+type, handler)
                  }else { element['on'+type] = null }
              }, /*
               *獲得事件對象
              */ getEvent: function(event){ return event ? event : window.event  //ie瀏覽器的事件對象是window對象的屬性, 所以需要window.event來獲取。 }, /*
               *獲得事件對象的事件目標(觸發事件的事件目標)
              */ getTarget: function(event){ return event.target || event.srcElement //這是||符號的另一種用法, 遇到true就返回。 }, /*
               *阻止默認事件
              */ preventDefault: function(event){ if(event.preventDefault){
                      event.preventDefault
                  }else{
                      event.returnValue = false }
              }, /*
               *阻止事件冒泡
              */ stopPropagation: function(event){ if(event.stopPropagation){
                      event.stopPropagation()
                  }else {
                      event.cancelBubble = true }
              }
          
          }  // stopPropagation()方法既可以阻止事件冒泡,也可以阻止事件捕獲,也可以阻止處于目標階段。
              
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42
          • 43
          • 44
          • 45
          • 46
          • 47
          • 48
          • 49
          • 50
          • 51
          • 52
          • 53
          • 54
          • 55
          • 56
          • 57
          • 58
          • 59
          • 60
          • 61

          ajax事件

          關于xhr對象, ie7需要之前的需要使用ActiveXObject對象來實現, 而且存在三個不同的版本。 雖然現在已經不用兼容ie7以前的瀏覽器了, 還是可以了解一下: 
          //適用于IE7之前的版本

          function createXHR(){ if(typeof arguments.callee.activeXString != 'string'){ var versions = ['MSXML2.XMLHttp.6.0', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp'],
                  i,
                  len; for(i = 0; len = version.length; i++){ try{ new ActiveXObject(veersions[i]); arguments.callee.activeXString = versions[i] break }catch(ex){ //跳過 }
                  }
              } return new ActiveXObject(arguments.callee.activeXString)
          }
              
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17

          //最終版本

          function createXHR(){ if(typeof XMLHttpRequest != 'undefined'){ return new XMLHttpRequest()
              }else if(typeof ActiveXObject != 'undefined'){ if(typeof arguments.callee.activeXString != 'string'){ var versions = ['MSXML2.XMLHttp.6.0', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp'],
                  i,
                  len; for(i = 0; len = version.length; i++){ try{ new ActiveXObject(veersions[i]); arguments.callee.activeXString = versions[i] break }catch(ex){ //跳過 }
                  }
              } return new ActiveXObject(arguments.callee.activeXString)
              }else { throw new Error("NO XHR object availabel")
              }
          }
          藍藍設計m.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          狠狠综合久久综合88亚洲| yy6080久久| 国产精品99久久久久久猫咪| 久久久久国产一级毛片高清版| 韩国三级大全久久网站| 精品久久人人妻人人做精品| 亚洲综合伊人久久大杳蕉| 国产一久久香蕉国产线看观看| 久久久免费观成人影院| 久久天天躁狠狠躁夜夜96流白浆| 欧美伊香蕉久久综合类网站| 亚洲精品国产综合久久一线| 国产精品久久影院| 久久久亚洲裙底偷窥综合| 久久99精品国产99久久6| 粉嫩小泬无遮挡久久久久久| 国内精品欧美久久精品| 亚洲精品无码久久久久去q| 精品国产一区二区三区久久蜜臀| 亚洲欧美伊人久久综合一区二区| 久久久精品波多野结衣| 久久精品中文闷骚内射| 国产精品久久久久久久人人看| 丰满少妇人妻久久久久久4| 国产91色综合久久免费| 亚洲精品国产美女久久久| 亚洲人AV永久一区二区三区久久| 青青草原1769久久免费播放| 国内精品久久久久久99| 一本色道久久88精品综合| 日本WV一本一道久久香蕉| 亚洲国产婷婷香蕉久久久久久| 精品国产婷婷久久久| 久久精品国产一区二区三区| 99热热久久这里只有精品68| 91精品国产综合久久四虎久久无码一级| 久久久无码精品亚洲日韩蜜臀浪潮| 久久最新免费视频| 久久99这里只有精品国产| 老男人久久青草av高清| 久久经典免费视频|