IE核心浏览器,在dz官网使用纯文本模式的重现此问题,编辑器的快捷绑定会失效 ,在帖子的编辑器内“Ctrl+回车”快捷键不能提交帖子。
非纯文本模式下 下断点 setEditorEvents()可以按照图示的断点处往下正常执行,
因为此时editdoc是个iframe,所以editdoc.body不是空
但是在纯文本模式下editdoc是个textarea 所以editdoc.body必定不存在,
下断点看会产生如下异常
打开static\js\editor.js
查找:
- function setEditorEvents() {
- if(BROWSER.firefox || BROWSER.opera) {
- editdoc.addEventListener('mouseup', function(e) {mouseUp(e)}, true);
- editdoc.addEventListener('keyup', function(e) {keyUp(e)}, true);
- editwin.addEventListener('keydown', function(e) {keyDown(e)}, true);
- } else if(editdoc.attachEvent) {
- try{
- editdoc.body.attachEvent('onmouseup', mouseUp);
- editdoc.body.attachEvent('onkeyup', keyUp);
- editdoc.body.attachEvent('onkeydown', keyDown);
- } catch(e) {}
- }
- }
复制代码
改成:
- function setEditorEvents() {
- if(BROWSER.firefox || BROWSER.opera) {
- editdoc.addEventListener('mouseup', function(e) {mouseUp(e)}, true);
- editdoc.addEventListener('keyup', function(e) {keyUp(e)}, true);
- editwin.addEventListener('keydown', function(e) {keyDown(e)}, true);
- } else if(editdoc.attachEvent) {
- try{
- editdoc.body.attachEvent('onmouseup', mouseUp);
- editdoc.body.attachEvent('onkeyup', keyUp);
- editdoc.body.attachEvent('onkeydown', keyDown);
- } catch(e) {
- /*IE核心 源代码模式下 编辑器快捷键绑定的DirtyFix ihipop @ 22:27 2012-10-06*/
- try {
- editdoc.attachEvent('onmouseup', mouseUp);
- editdoc.attachEvent('onkeyup', keyUp);
- editdoc.attachEvent('onkeydown', keyDown);
- } catch(r) {}
- }
- }
- }
复制代码
|
上一篇: Discuz X2.5 20120901版发帖验证框总失去焦点,导致无法输入答案的解决办法下一篇: 1314学习网签到记录贴-2012年10月8日
|