作家
登录

JavaScript操作DOM的那些坑

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

  •  
  •     }else if(window.ActiveXObject){ 
  •  
  •         xhr = new ActiveXObject("Microsoft.XMLHttp");//IE 
  •  
  •     } 
  •  
  • </script>  
  • 禁止拔取网页内容

    问题:

    FF须要用CSS禁止,IE用JS禁止

    IE: obj.onselectstart = function() {return false;}

    FF: -moz-user-select:none;

    三大年夜不冒泡事宜

    所有浏览器的focus/blur事宜都不冒泡,万幸的是大年夜部分浏览器支撑focusin/focusout事宜,不过可恶的firefox连这个都不支撑。

    IE6、7、8下 submit事宜不冒泡。

    IE6、7、8下 change事宜要比及blur时才触发。

    万恶的滚轮事宜

    滚轮事宜的支撑可谓是混乱无章,规律如下:

    IE6-11 chrome mousewheel wheelDetla 下 -120 上 120

    offsetX/offsetY:W3C- IE+ Firefox- Opera+ Safari+ chrome+

    firefox DOMMouseScroll detail 下3 上-3

    firefox wheel detlaY 下3 上-3

    IE9-11 wheel deltaY 下40 上-40

    chrome wheel deltaY 下100 上-100

    关于鼠标滚轮事宜,IE支撑mousewheel,火狐支撑DOMMouseScroll。

    断定鼠标滚轮是向上照样向下,IE是经由过程wheelDelta属性,而火狐是经由过程detail属性

    事宜宛转办法

    返回最后一个子节点:node.lastChild

    1. //事宜宛转办法 
    2.  
    3. IE:document.body.onload = inject; //Function inject()在这之前已被实现 
    4.  
    5. FF:document.body.onload = inject();  

    HTML5 的浏览器支撑情况

     

    萌芽操作

    萌芽经由过程指的是经由过程一些特点字符串来找到一组元素,或者断定元素是不是知足字符串。

    1. IE6/7不区分id和nam在IE6/7下应用getElementById和getElementsByName时会同时返回id或name与给定值雷同的元素。因为name平日由后端商定,是以我们在写JS时,应包管id不与name反复。
    2. IE6/7不支撑getElementsByClassName和querySelectorAll 这两个函数大年夜IE8开端支撑的,是以在IE6/7下,我们实际可以用的只有getElementByTagName。
    3. IE6/7不支撑getElementsByTagName(‘*’)会返回非元素节点 要么不消*,要么本身写个函数过滤一下。
    4. IE8下querySelectorAll对属性选择器不友爱 几乎所有浏览器预定义的属性都有了问题,尽量应用自定义属性或者不消属性选择器。
    5. IE8下querySelectorAll不支撑伪类 有时刻伪类是很好用,IE8并不支撑,jquery供给的:first、:last、:even、:odd、:eq、:nth、:lt、:gt并不是伪览,我们在任何时光都不要应用它们。
    6. IE9的matches函数不克不及处理不在DOM树上的元素只要元素不在dom树上,必定会返回false,实袈溱不可把元素丢在body琅绫擎匹配完了再删掉落吧,当然了我们也可以本身写匹配函数以避免回流。

    材料参考:

    http://w3help.org/zh-cn/kb/,

    http://www.zhihu.com/question/29072028

    【编辑推荐】

    1. JavaScript与异步编程
    2. 摸索前端黑科技——经由过程png图的rgba值缓存数据
    3. 基于JavaScript说话的快速物联网开辟架构
    4. JavaScript框架、类库、对象汇总
    5. 只有20行Javascript代码!手把手教你写一个页面模板引擎
    【义务编辑:枯木 TEL:(010)68476606】

      推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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