禁止拔取网页内容
问题:
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
- //事宜宛转办法
- IE:document.body.onload = inject; //Function inject()在这之前已被实现
- FF:document.body.onload = inject();
HTML5 的浏览器支撑情况

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

材料参考:
http://w3help.org/zh-cn/kb/,
http://www.zhihu.com/question/29072028
【编辑推荐】
- JavaScript与异步编程
- 摸索前端黑科技——经由过程png图的rgba值缓存数据
- 基于JavaScript说话的快速物联网开辟架构
- JavaScript框架、类库、对象汇总
- 只有20行Javascript代码!手把手教你写一个页面模板引擎
推荐阅读
【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 这周工作太忙,本来想更把 Attention tranlsation 写出来,但一向抽不出时光,等后面有时光再来写。我们这>>>详细阅读
本文标题:JavaScript操作DOM的那些坑
地址:http://www.17bianji.com/lsqh/36299.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示