使用Rangy的span标签读取选择

时间:2014-03-19 12:43:02

标签: rangy

我正在使用Rangy中的CssClassApplier为选区设置字体大小:

.font16 {font-size: 16px;}
.font17 {font-size: 17px;}
.font18 {font-size: 18px;}


var font16Applier = rangy.createCssClassApplier("font16");

function applyfont16() {
            font16Applier.applyToSelection();
        }

现在,如果有人按下“+”来突破字体大小,我希望能够读取选择的span标签中的类名,如果是,比如font16,则将其更改为font17。

但我没有在Rangy中看到用它的span标签读取选择。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

假设您有每个字体大小的类应用程序,您可以依次遍历每个字体并检查它是否已应用于当前选择。它不是很有效但可能表现得很好。

var font16Applier = range.createCssClassApplier("font16");
var font17Applier = range.createCssClassApplier("font17");
var font18Applier = range.createCssClassApplier("font18");

var appliers = [font16Applier, font17Applier, font18Applier];

for (var i = 0, len = appliers.length; i < len; ++i) {
    if (appliers[i].isAppliedToSelection()) {
        if (i < len - 1) {
            appliers[i].undoToSelection();
            appliers[i + 1].applyToSelection();
            break;
        }
    }
}
相关问题