1. 程式人生 > >Web--js高級--12月21日隨筆

Web--js高級--12月21日隨筆

低版本 cto 沒有 rev sel 圖片 fault window off

問題:

  在拖拽元素的時候,如果元素的內部加了文字或者圖片,拖拽效果會失靈?

  因為瀏覽器會給文字和圖片一個默認行為,當文字和圖片被選中的時候,會有一個拖拽的效果,即使我們沒有人為他添加。所以當我們點擊這個元素拖拽時,有可能選中文字或圖片,觸發瀏覽器天生給的那個行為,從而導致我們寫的那個拖拽效果失靈。

obj.onmousedown=function(ev){
  var ev=ev||window.event;
  var _this=this;
  var x=ev.clientX-this.offsetLeft;
  var y=ev.clientY-this.offsetTop;
  if(obj.setCapture){
    obj.setCapture()
  }else{
    ev.preventDefault?ev.preventDefault():ev.returnValue=false;
  }

在down下加setCapture這個全局捕獲方法

setCapture() 全局捕獲的方法 他是ie低版本所特有的。給一個元素添加了這個方法之後,無論我們在頁面的那個地方觸發了相同的事件,都會觸發這個元素。

新增獲取元素的方法

Document.querySelector()獲取的是單個元素

Document.querySelectorAll() 獲取的是元素組

括號裏可以寫 div .div #div

Web--js高級--12月21日隨筆