问题:IE浏览器按Tab键无法缩进,谷歌可以
解决思路:先监听键盘事件判断按下Tab键时,再向光标的当前位置插入两个空格键(注意:IE缩进:‘/t’不起作用,一定要:’ ‘;)
首先wangeditor组件文档标注了在光标位置插入内容:editor.cmd.do('insertHTML,''<p>想要插入的内容</p>)
wangeditor文档地址: https://www.wangeditor.com/doc/pages/08-%E5%B8%B8%E7%94%A8API/03-%E5%86%85%E5%AE%B9%E6%93%8D%E4%BD%9CAPI.html
//注释:!!window.ActiveXObject || "ActiveXObject" in window判断是否时IE浏览器,w-e-text文本编辑器calssname名
//不逼叨直接上代码:
window.addEventListener('keydown',evet=>{
if(event.keyCode==9&&event.srcElement.calssName=='w-e-text' &&(!!window.ActiveXObject || "ActiveXObject" in window)){//当按下tab键时并且是在wangEditor富文本编辑缩进时
this.editor.cm.do('insertHTML','<span> </span>')//向光标处添加两个空格,缩进两格
}
})
注意:谷歌上可以直接this.editor.cm.do(‘insertHTML’,’ '),IE上需要包一个标签,span或者其他都可以,不然IE缩进无效还会报错!
可怜的代码奴还要考虑这么多兼容问题!