在飞行中改变wysiwyg的文本方向(ltr和rtl)

时间:2014-01-18 15:14:25

标签: javascript html wysiwyg right-to-left

我在波斯语网站上使用nicEdit作为wysiwig编辑器。

内容的文本有时是波斯语和英语单词的混合,

波斯语是一种从左到右的语言,因此编辑器的默认方向是从右到左。然后,当在文本中间键入英语单词时,rtl方向性适用于它并导致误读 例如 C#将写为#C

它的解决方案是用一个span标签包围单词(例如C#),其方向为ltr C#

但我怎样才能实现呢? 我想在编辑器按键事件中,检查输入的键是否是英文用上面提到的跨度替换它,但我不知道该怎么做

换句话说,您可以将此问题视为在飞行中更改键入文本的背景颜色

在下面我写了我正在尝试但是它还没有工作

    $('body').on('keypress','.nicEdit-main', function(e) {
        var c= String.fromCharCode(e.which);
        var isWordcharacter = c.match(/\w/);        
        if (isWordcharacter && !en)                                                
        {           
            en = true;
            nicEditor.nicCommand('insertHTML', '<span dir="ltr" style="direction:ltr; background-color:#eee">');
        }
        else if (!isWordcharacter)
        {
            en = false;
// need to close or escape the current span or create a new one with the opposite direction but nor works
            nicEditor.nicCommand('insertHTML', '<span dir="rtl" style="direction:rtl;>');
        }
    });

问题在于我应该逃避当前的跨度

0 个答案:

没有答案