kla*_*sen 6 html javascript dom range
我有以下代码:
<div contenteditable="true" id="editor">
<p>This is example text with <span class="spoiler">spoiler<strong>s</strong></span></p>
<p>The <span class="spoiler">spoiler</span> exists in multiple paragraphs</p>
</div>
<button onclick="removeSpoiler();">remove spoiler</button>
Run Code Online (Sandbox Code Playgroud)
用户可以选择文本,然后单击按钮以删除<span class="spoiler">格式.单击按钮后,仍必须选中文本.
例如:用户选择"with spoilers.sp".他点击了"删除剧透".所需的输出是:
<div contenteditable="true" id="editor">
<p>This is example text with spoiler<strong>s</strong></p>
<p>The sp<span class="spoiler">oiler</span> exists in multiple paragraphs</p>
</div>
<button onclick="removeSpoiler();">remove spoiler</button>
Run Code Online (Sandbox Code Playgroud)
我尝试的一个小问题(我真的不知道从那里去哪里):http://jsfiddle.net/632cr/
最快、最简单的方法是使用rangy框架及其CSSClassApplier模块。
这很简单,您的代码可能如下所示:
rangy.init();
var cssClassApplierModule = rangy.modules.CssClassApplier;
var classApplier = rangy.createCssClassApplier('spoiler');
function removeSpoiler(){
classApplier.undoToSelection(editor);
// it's some preview div
$('#preview').text( $(editor).html() );
}
Run Code Online (Sandbox Code Playgroud)
请在此处查看结果演示。
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |