Textarea类型特殊字符

时间:2016-01-07 09:31:17

标签: javascript jquery html css

在textarea中,我希望用户能够按下键盘上的字母并键入?ℬ??等(因此输入& ascr;& bscr;特殊字符)

有没有这样做?并且让用户可以自由地编辑正常文本区域中的字符。

用户可以单击选择一种样式(设置我的 var样式整数),字母将是不同的样式,如??ℭ?(& Afr;& Bfr;& Cfr;等。)

我想在最后实现的是用户输入一个段落,然后文本将在textarea中以这种方式显示格式,他们可以在两者之间切换样式。然后他们将能够复制文本/将其保存为.html文件。

欢迎任何方法! :)

谢谢!

用户可以输入的内容示例:您好我的名字是Friedpanseller!

textarea可以显示的内容:ℋℯ??ℴℳ????ℯℐ???????????????!

然后用户可以删除中间的一些单词/编辑它们就像普通的textarea

用户可以输入的内容示例:我的名字是Friedpanseller!

textarea可以显示的内容:ℳ????ℯ???ℯ??????????????!

3 个答案:

答案 0 :(得分:0)

尝试使用第三方工具(我更喜欢使用CKEditor),因为它是免费的

答案 1 :(得分:0)

Here就是你可以做的一个例子。输入" a" (没有引号)进入该文本区域。它的不是很快,但它是我能收集到的。它并没有解决您的所有要求,但这只是一个开始。

$("textarea").bind("keyup", function() {
    var cursorPosition = $('textarea').prop("selectionStart");
    var text = $(this).val();
    if (text.indexOf('a') > -1) {
        text = text.replace(/a/g, '');
        $(this).val(text);
        $('textarea').prop("selectionStart", cursorPosition - 1);
        $('textarea').prop("selectionEnd", cursorPosition - 1);
    }
});

你可以尝试系统地应用你想要替换的字符。祝你好运。

答案 2 :(得分:0)

当您在空白html中添加代码时,请为jquery event bind添加document.ready。

$(document).ready(function(){
$("textarea").bind("keyup", function() {
    var cursorPosition = $('textarea').prop("selectionStart");
    var text = $(this).val();
    if (text.indexOf('a') > -1) {
        text = text.replace(/a/g, '');
        $(this).val(text);
        $('textarea').prop("selectionStart", cursorPosition - 1);
        $('textarea').prop("selectionEnd", cursorPosition - 1);
    }
});
});

如果我们在单独的HTML页面中使用相同的代码,它就会以这种方式工作。