jquery - 单击另一个元素时不要失去焦点

标签 jquery focus contenteditable

我正在为一个项目编写一个小型“就地编辑器”,但遇到了保持焦点和模糊的两个问题。我做了一个 fiddle 来更好地解释我的问题:

http://jsfiddle.net/distractedBySquirrels/ufbtC/

(1) 当您在 contenteditable 元素内单击时,会出现一个小工具栏。单击工具栏时,当前正在编辑的元素会短暂失去焦点。有办法规避吗? (这实际上是一个用户体验问题)

(2) 当模糊时,工具栏应该消失。但这会导致工具栏无法工作。如果您单击工具栏上的某些内容,就会发生模糊事件...当用户单击工具栏时不模糊的(有点)最佳实践是什么?

提前致谢,

塞巴斯蒂安

最佳答案

解决方案非常简单...只需添加一个超时来“保护菜单”。更新了 fiddle 。

    protect: function (e) {
        e.preventDefault()
        return setTimeout(300)
    }   

关于jquery - 单击另一个元素时不要失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12215211/

相关文章:

jquery - 如何关注qtip(jquery插件)中的元素

javascript - 如何专注于 youtube 视频播放器对象

javascript - 如何防止 'Enter' 在标记为 contentEditable 的 div 中工作?

javascript - 如何选择 span 标签内的所有内容,包括 span 标签本身?

javascript - setinterval方法不起作用

javascript - 如何使用 AngularJS 指令解决 Jquery 焦点问题?

javascript - css3 图像淡入淡出

javascript - 如何判断页面加载时哪个元素具有焦点?这可能吗?

javascript - Jquery 和 Contenteditable - 强制换行显示为单个空格

jquery - 在元素之间移动鼠标时,如何防止 jquery.hover() 闪烁其他元素?