如何将当前光标中的行格式化为<h1>或者<p>标记

How to format a line in current cursor to <h1> or <p> tag by javascript execCommand?

本文关键字:lt gt 标记 或者 h1 格式化 光标      更新时间:2023-09-26

我正在学习格式化可编辑的html文本并在UIWebView 中显示

//html文件

<html>
<body>
    <div id="content" contenteditable="true" style="font-family: Helvetica">
    </div>
</body>
</html>

//加载到WebView

[self.webView loadHTMLString:[[NSString alloc] initWithData:
                    [[NSFileHandle fileHandleForReadingAtPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]] readDataToEndOfFile] encoding:NSUTF8StringEncoding]
                     baseURL:[NSURL fileURLWithPath:[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]]
 ];

一些标签,如bi,可以通过插入或删除到当前选择的文本中

-(IBAction)bold:(UIButton *)sender {
    [self.webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('bold')"];
}
-(IBAction)italic:(UIButton *)sender {
    [self.webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('italic')"];
}

我想找到一个命令,将当前行文本格式化为h1h2ppre标记

我找了很多,但还是被卡住了。请给我一个建议!

我从这份文件中得到了答案

[self.webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('formatBlock', false, 'p')"];
[self.webView stringByEvaluatingJavaScriptFromString:@"document.execCommand('formatBlock', false, 'h1')"];