作家
登录

JavaScript操作DOM的那些坑

作者: 来源: 2017-07-19 17:05:29 阅读 我要评论

问题三:

其余参照:http://segmentfault.com/a/1190000002559158#articleHeader11

参照表

(+为支撑,-为不支撑):

x/y:W3C- IE+ Firefox- Opera+ Safari+ chrome+

layerX/layerY:W3C- IE- Firefox+ Opera- Safari+ chrome+

pageX/pageY:W3C- IE- Firefox+ Opera+ Safari+ chrome+

clientX/clientY:W3C+ IE+ Firefox+ Opera+ Safari+ chrome+

screenX/screenY:W3C+ IE+ Firefox+ Opera+ Safari+ chrome+

查看下方DEMO:

你会发明offsetX在Firefox下是undefined,在chrome和IE则会正常显示。

PS:IE 中的所有 DOM 对象都是以 COM 对象的情势实现的,这意味着 IE 中的 DOM可能会和其他浏览器有必定的差别。

https://jsfiddle.net/f4am208m/embedded/result/

2.w3c应用addEventListener来为事宜元素添加事宜监听器,而IE则应用attachEvent。addEventListener为事宜冒泡到的当前对象,而attachEvent是window

offsetLeft和style.left差别

1.style.left返回的是字符串,比如10px。而offsetLeft返回的是数值,比如数值10

2.style.left是可读写的,offsetLeft是只读的

3.style.left的值须要事先定义(在样式表中定义无效,只能取到在html中定义的值),不然取到的值是空的

getComputedStyle与currentStyle

getComputedStyle()接收两个参数:要取得盘似揭捉?式的元素和一个伪元素,如不雅不须要伪元素,则可所以null。然而,在IE中,并不支撑getComputedStyle,IE供给了currentStyle属性。

缺点:在标准浏览器中正常,但在IE6/7/8中不支撑

  1. window.onload=function(){ 
  2.  
  3.     var oBtn=document.getElementById('btn'); 
  4.  
  5.     var oDiv=document.getElementById('div1'); 
  6.  
  7.   
  8.  
  9.     oBtn.onclick=function(){ 
  10.  
  11.         //alert(oDiv.style.width); //写在样式表里无法攫取,只能获得写在行内的 
  12.  
  13.         //alert(getComputedStyle(oDiv).width); //实用于标准浏览器       IE6、7、8不辨认 
  14.  
  15.         //alert(oDiv.currentStyle.width); //实用于IE浏览器,标准浏览器不辨认 
  16.  
  17.         if(oDiv.currentStyle){ 
  18.  
  19.             alert(oDiv.currentStyle.width); 
  20.  
  21.         }else
  22.  
  23.             alert(getComputedStyle(oDiv).width); 
  24.  
  25.         } 
  26.  
  27.   
  28.  
  29.     }; 
  30.  
  31. };  

撤消表单提交

  1. <script type="text/javascript"
  2.  
  3.     function listenEvent(eventObj,event,eventHandler){ 
  4.  
  5.         if(eventObj.addEventListener){ 
  6.  
  7.             eventObj.addEventListener(event,eventHandler,false); 
  8.  
  9.         }else if(eventObj.attachEvent){ 
  10.  

      推荐阅读

      利用卷积自编码器对图片进行降噪

    【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 这周工作太忙,本来想更把 Attention tranlsation 写出来,但一向抽不出时光,等后面有时光再来写。我们这>>>详细阅读


    本文标题:JavaScript操作DOM的那些坑

    地址:http://www.17bianji.com/lsqh/36299.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)