IE踩坑小结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xie_lu/article/details/89188895

写变量这个功能的时候,真的是各种问题,因为要兼容chrome、IE和Firefox,所以写到吐血……其中Firefox有个问题到现在都没有解决(用 “ Backspace “ 按键删除插入的变量内容的时候,要不删不掉,要不增加一个空格),因为是它浏览器内部的bug……
现在抽时间小结一下遇到的IE问题,希望能帮到同行一点点:
1、插入变量新生成页面dom元素的时候,IE会改成特定顺序的格式:比如我插入的元素是

<span class="aa"  contenteditable=ture id="bb"> 插入的内容 </span>

那么在IE里,渲染出来的时候一定是这样的

<span class="aa"  id="bb"  contenteditable=ture> 插入的内容 </span>

2、粘贴内容的时候

chrome之类的需要用

let data = e.clipboardData.getData("text/plain");

IE就需要用

let data = window.clipboardData.getData("Text");

3、onkeydown事件识别“$”键

chrome之类的只需要用

e.shiftKey && e.keyCode === 52       
或者
e.shiftKey &&  e.key === "$"

IE就需要三项一块判断,否则 与“¥”区分不出不来

e.shiftKey && e.keyCode === 52 && e.key === "$"

4、上次博客里写过的contenteditable = true的情况。可以参考:HTML 的 contenteditable=false 陷井之一

猜你喜欢

转载自blog.csdn.net/xie_lu/article/details/89188895