我使用以下代码将p标签的类添加到.content
contenteditable div(基于插入符号的位置):
var $content = $('.content'),
$p = $content.find('p');
$content.on('keyup click', function(e) {
var focusElement = window.getSelection().baseNode.parentElement;
$p.removeClass('hover');
$(focusElement).addClass('hover');
});
它适用于这样的结构:
<p>Text text</p>
<p class="hover">Text text</p>
问题出现在这样的结构上:
<p>Text text</p>
<p>Text <i>text</i></p>
p
中的任何html标记似乎都会破坏代码,导致代码无法将hover
类添加到p
代码中。
有没有解决方法呢?
答案 0 :(得分:1)
$content.on('keyup click', function(e) {
$(window.getSelection().baseNode).closest('p').addClass('hover');
$p.removeClass('hover');
});