前端点滴记录

1.强制浏览器刷新某个dom节点

a.removeChild(b);a.appendChild(b);


2.经测试发现IE10中不支持dom.dataset属性,如果如下自定了属性的话,在Chrome的高版本中可以通过div.dataset.tip直接获取,而在IE10中要通过div.getAttribute('data-tip')获取,IE11没测试过是否支持dataset,
div.getAttribute('data-tip')是最通用的方法,在大多数的浏览器中都支持,建议用这种方法。


3.不要使用class等关键字,如果非要使用,在class两边加引号,否则在sublime中将jshint配置设置为es3的时候会报错,而且在使用dojo build的时候也会报错,而且IE8等老IE浏览器也会认为错误。而且不要使用dir等词,比如this.dir中的dir会在sublime中高亮,类似于关键字,在IE下也会报错,所以不要将data-dojo-attach-point设置为dir等值,否则出错。


4.overflow:hidden auto;这个css样式在IE10下面不识别,一定要写成overflow-x:hidden;overflow-y:auto;分开写的形式才行。


5.一般浏览器下将的display设置为none,然后用javascript执行其click()方法即可显示选择文件的窗口,但是在Firefox下不行。解决办法是在FF下将其样式设置为

opacity:0;width:0px;height:0px;

在其他浏览器上还是设置为display:none,这样其执行click方法的时候都会弹出文件选择框。


6.div默认情况下不响应失去焦点、获取焦点、键盘事件,为了使其响应,需要给他设置tabIndex属性,这样就能接收焦点、键盘事件。

http://stackoverflow.com/questions/8032760/how-can-i-get-keydown-events-on-a-div-in-chrome


7.getElementsByClassName() 在 Internet Explorer 5,6,7,8 中无效。


8.IE7+都支持绝对定位的left、right、top、bottom自适应,IE6没有测试过。


9.IE8中window.HTMLElement不存在,所以不能在IE8中用a instanceof HTMLElement来判断是否是DOM元素,可以用if(a.nodeType === 1)来判断。

http://stackoverflow.com/questions/5747523/cross-browser-solution-for-checking-if-a-javascript-object-is-an-html-element


10.通过document.inputEncoding读取页面的编码方式。


11.ECMAScript中标准的判断某个值的类型所用的方法是Object.prototype.toString方法,该方法可以很好的区分出各种类型,比如判断是不是数组,可以如下判断:

if(Object.prototype.toString.call(value) === '[object Array]'){console.log('array');}

12. IE8及IE8-的IE浏览器的window对象都不支持click等鼠标事件,参见http://www.quirksmode.org/dom/events/click.html。


13. IE8及IE8-的IE浏览器的事件对象event中都没有preventDefault 和stopPropagation方法。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部