JsFiddle:http://jsfiddle.net/sharat87/qWCQT/
正如您可以(或不能)在上面的jsfiddle中看到的,当您点击div
contenteditable
元素下面的span
元素时,它会失去焦点,这是正确的。但是当你使用contenteditable
div
元素执行同样的操作时,不会失去焦点。此外,样式为display: inline-block
的{{1}}元素的行为与此方案中的span
元素完全相同。
在我的应用布局中,我需要将contenteditable
元素显示为inline-block
。但是当点击下面给出的空白空间时它应该失去焦点,这明确地提供了失去焦点和特定于上下文的目的。我不希望contenteditable
元素保持焦点。
除此之外,还没有通过javascript处理点击和blur
- contenteditable
元素?
答案 0 :(得分:1)
我刚刚使用JavaScript添加了style/display property
,具体取决于Browser
并且有效
window.onload=function(){
var ua=navigator.userAgent;
var spans=document.getElementsByTagName('span');
for(i=0;i<spans.length;i++)
{
if(spans[i].className=='content')
{
if(ua.indexOf('MSIE')!=-1) spans[i].style.display='inline-block';
else spans[i].style.display='inline-table';
}
}
};
在Chrome,FF,IE8和Opera中测试过。一个example here。