前端点滴记录

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

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


2.经测试发现IE10中不支持dom.dataset属性,如果如下自定了属性<div data-tip="Message1"></div>的话,在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.一般浏览器下将<input type="file" />的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方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值