主题: “从word粘贴”插件“粘贴编辑框”聚焦问题
作者: 贝加达, 发布日期: 2013-01-07 23:18:34, 浏览数: 2378

“粘贴编辑框”没有输任何内容时,此时如果不经意点击了首行以外的地方,“粘贴编辑框”将失去焦点无法粘贴,如需粘贴只能点击“粘贴编辑框”的首行位置才能实现聚焦,有没有什么方法能实现点击“粘贴编辑框”的任意空白位置都能聚焦,那样更人性化些。

我试了不少方法,始终没解决,还望知道的大侠们不吝赐教。

作者: Dangerous, 发布日期: 2013-01-08 10:26:47

也遇到过这个问题,点击首行就可以获取焦点,是富文本框的行数问题吧?关注

回复
作者: 贝加达, 发布日期: 2013-01-08 13:54:00

刚才折腾了一下,发现可以这样来实现:

修改插件:plugins\wordpaste\wordpaste.js

在49行 iframe[0].contentWindow.focus(); 后插入以下代码:

//Add Click Focus Function
K(doc).click(function(){
	iframe[0].contentWindow.focus();
});

这样带来一个缺点,就是每次点击方框中其他位置总是聚焦到左上角第一个字符,正常用户体验应该是每次点击都聚焦到文档末尾,但这种效果代码有些复杂,可以简单改一下实现:当内容为空时,点击方框中任意位置自动聚焦,有内容时不自动聚焦,这样可以在用户体验方面稍微好些,修改后的代码如下:

//Add Click Focus Function
K(doc).click(function(){
    if(doc.body.innerHTML.replace(/\n|\r|\ |\t|&nbsp;/g, '').replace(/<[^>]+>/g, '').length==0){
        iframe[0].contentWindow.focus();
     }
});

如有不对,还请知道的朋友指正,谢谢!

 

回复
发表新帖 发表回复