码迷,mamicode.com
首页 > Web开发 > 详细

Web--js高级--12月21日随笔

时间:2019-01-02 20:45:43      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:default   val   use   方法   apt   capture   else   client   元素   

问题:

  在拖拽元素的时候,如果元素的内部加了文字或者图片,拖拽效果会失灵?

  因为浏览器会给文字和图片一个默认行为,当文字和图片被选中的时候,会有一个拖拽的效果,即使我们没有人为他添加。所以当我们点击这个元素拖拽时,有可能选中文字或图片,触发浏览器天生给的那个行为,从而导致我们写的那个拖拽效果失灵。

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日随笔

标签:default   val   use   方法   apt   capture   else   client   元素   

原文地址:https://www.cnblogs.com/lovels/p/10210889.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!