如果单击父级,则无法限制为孩子提供焦点

时间:2014-07-17 06:31:36

标签: javascript jquery

my application here中,我遇到了Chrome v35的问题。它适用于Firefox v30。

重现问题:添加项目。单击新文本和星号之间的空白区域。

焦点不应该转移到contenteditable元素。 我试过了:

$(document).on("click", "li", function(event){ 
    event.stopPropagation();                            
}); 

但它没有帮助。我也玩blur,但没有得到理想的结果。

如何解决此问题,以便只有在点击文字时才能编辑文字?

jsFiddle

编辑1:此问题也可以被观察到here

1 个答案:

答案 0 :(得分:1)

在这里,但是在将来我建议使用输入,更容易操作:http://jsfiddle.net/pc2Lm/3/

$('p').click(function(){
    $(this).attr('contenteditable','true');
    $(this).trigger('focus');
});
$(document).on('click',function(e){
    if (!$('p').is(e.target)    && $('p').has(e.target).length === 0){ 
        $('p').each(function(){
            $(this).attr('contenteditable','false');
        });
    }
});