主题: chrome下拖动下边沿会导致blur,在ie、ff下均正常拖拉使用
作者: weaver, 发布日期: 2013-01-08 21:17:12, 浏览数: 3198
操作系统:
win7
浏览器版本:
chrome  版本 23.0.1271.97 m
KindEditor版本:
4.1.1(2012-6-10)
BUG再现步骤:
1.//初始化内容编辑框
var taskContentKe = KindEditor.create('#'+taskTextarea.attr("id"), {
    width : "100%",   //横向充满
    cssPath:"/static/css/jquery/jquery.kindeditor.css",
   minHeight : 50, 
   filterMode : false, //不会过滤HTML代码
   resizeMode : 1, //编辑器只能调整高度
   items : [ //显示的按钮
            //'fontname', 'fontsize', 'forecolor', 'hilitecolor', '|', 
            //'bold', 'italic', 'underline', 'removeformat', '|', 
           //'justifyleft', 'justifycenter', 'justifyright', 
            //'insertorderedlist', 'insertunorderedlist'
            ],
    afterBlur : function updateTaskContent(){//编辑器失去焦点时,保存内容
            if(taskPanel.attr("id").indexOf("init_")==0){
            taskContentKe.focus();
            return;
            }
            //同步编辑框信息(使用非原生submit按钮时,需要调用同步方法)
            taskContentKe.sync();
            //ajax提交表单
            $.post("/task/task!updateContent.jspx",
        {"task.id":taskPanel.find("#taskId").val(),"task.content":taskTextarea.val()},
        function(data){
            //dosomething
        },
        "json"
        );
            }
});

2.//点击展开编辑框
something.click(
function(){
taskContentKe.edit.setHeight(something.height());
taskContentKe.html(something.html());
taskContentKe.focus();
}
);

3.拖动编辑框下边沿,触发blur事件,执行了 function updateTaskContent(){//编辑器失去焦点时,保存内容

期望结果:


拖动下边沿时,只扩大编辑框高度,不触发blur事件(与ie、ff相同即可)

作者: 光怪陆离, 发布日期: 2013-01-09 15:31:57
我的编辑器在任何浏览器下都不存在这样的问题,我用的是XP,KindEditor 4.1.4 
回复
作者: weaver, 发布日期: 2013-01-09 15:44:25
回复光怪陆离:谢谢!我也升级看看
回复
作者: weaver, 发布日期: 2013-01-09 16:06:51

回复光怪陆离:

下载了4.1.4,问题依旧,还是chrome不行,其他可以

想请教您一下:

1.您实验过了不会触发afterblur事件吗?

2.您引入的js文件是哪个?

我引入的是:

<script type="text/javascript" src="/static/js/kindeditor/kindeditor-all.js"></script>
<script type="text/javascript" src="/static/js/kindeditor/lang/zh_CN.js"></script>

回复
作者: weaver, 发布日期: 2013-01-24 16:32:09

4.1.5连firefox也不能拖了,和chrome一个情况,只有ie正常!换回4.1.2就firefox和ie可以拖!

 

会触发blur事件解决起来很难吗?文档也写得十分不完善

 

这里能否问两个问题:

1、mouseover事件如何绑定?

2、如何获取编辑器的所在位置?

 

谢谢!

回复
作者: weaver, 发布日期: 2013-01-24 18:14:09

用了一个无耻的办法来绕过了,3个浏览器都测试通过。

(还有些小问题,比如mouseup的时候不在statusbar上,就不会重新focus回去,放body的mouseup也不行,因为可能摁着鼠标到其他窗口去了)

 

//ke-statusbar是kindeditor用来拖动的div,因为chrome在拖动的时候会触发blur事件,这里用flag,在触发blur时判断,取消blur
  panel.find(".ke-statusbar").mouseover(function(){
   flag = 1;
     });
  panel.find(".ke-statusbar").mouseout(function(){
   flag = 0;
     });
  panel.find(".ke-statusbar").mouseup(function(){
   contentKe.focus();
     });

回复
发表新帖 发表回复