如果单击父节点,则无法限制对子节点的关注

unable to restrict giving focus to child if clicked on parent

本文关键字:子节点 父节点 单击 如果      更新时间:2023-09-26

在我的应用程序在这里,我有一个问题,特别是Chrome v35。它在Firefox v30中运行得非常好。

再现问题:添加项。点击新文本和星号之间的空白。

焦点不应该转到contenteditable元素。我试着:

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

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

我如何解决这个问题,使文本是可编辑的只有当我点击它?

jsFiddle

EDIT 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');
        });
    }
});