2011-08-18 36 views
1

我使用这个CSS设置段落符号字符(无所谓)作为元素,以一个段落后点击伪元素时,我可以设置光标/插入符号吗?

body.p:after { 
    content:'\00b6'; // the used char or image does not matter 
} 

当我点击体内元素之后光标/插入符号被放置在在结束后段落如所愿。但是当我点击after元素时,没有显示光标,并且在某些字母中键入不起作用。

有没有解决方法?

回答

2

这是我对问题的解决方案。 OnClick我检查点击事件的偏移量是否等于最大textnodelength以决定插入符是否需要设置。 此处的目标是在after元素上单击时将光标设置为实际段落的末尾。

ed.onClick.add(function(ed, evt){ 

    var node = ed.selection.getNode(); 

    // need to set Cursor onClick on after element? 
    if (ed.controlManager.get('irhiddenchars') && ed.controlManager.get('irhiddenchars').isActive() && 
    evt.target.nodeName.toLowerCase() == 'p'){ 
    if (node != evt.target) { 
     ed.selection.setCursorLocation(evt.target, 0); 
    } 
    else { 
     if (evt.rangeParent.nodeType == 3 && evt.rangeParent.textContent.length == evt.rangeOffset) 
     { 
      ed.selection.setCursorLocation(evt.rangeParent, evt.rangeOffset); 
     } 
    } 
    // show Caret 
    ed.focus(); 
    } 
}); 
相关问题