首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以像素为单位的document.execCommand() FontSize?

以像素为单位的document.execCommand() FontSize?
EN

Stack Overflow用户
提问于 2011-05-03 18:45:28
回答 9查看 30.2K关注 0票数 20

例如,如何使用document.execCommand将字体大小更改为30px

这一点:

代码语言:javascript
运行
复制
document.execCommand("fontSize", false, "30px");

不起作用,因为在函数execCommand的第三个参数中,它只允许我输入一个介于1到7之间的值。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-05-03 21:59:20

这是FontSize命令的一个限制。我能想到的选项有很多:

  • 您可以使用CSS类来代替,并使用我的Rangy库的CSS class applier模块;
  • 您可以使用一种老套的方法,例如调用document.execCommand("fontSize", false, "7");,然后找到该命令创建的元素,并根据需要更改它们。请参见示例:http://jsfiddle.net/S3ctN/。这显然取决于文档中没有其他大小为7的<font>元素,而且它还依赖于使用<font>元素的浏览器字体大小,这似乎都是这样做的。
票数 19
EN

Stack Overflow用户

发布于 2015-09-04 20:54:32

函数

代码语言:javascript
运行
复制
var execFontSize = function (size, unit) {
    var spanString = $('<span/>', {
        'text': document.getSelection()
    }).css('font-size', size + unit).prop('outerHTML');

    document.execCommand('insertHTML', false, spanString);
};

执行

代码语言:javascript
运行
复制
execFontSize(30, 'px');
票数 10
EN

Stack Overflow用户

发布于 2012-09-12 23:03:16

正如第二个答案所建议的,只需在execcommand之后运行一些jquery,并用您自己的标记来替换。

只需用您的元素替换elem,并用所需的值编辑font-size即可。

代码语言:javascript
运行
复制
jQuery("font[size]", elem).removeAttr("size").css("font-size", "10px");
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5868295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档