2016-01-07 72 views
3

在一个textarea我希望用户能够按自己的键盘上的字母,然后键入풜 ℬ 풞 풟等。(所以键入& ASCR; & BSCR;特殊字符)textarea的类型特殊字符

是无论如何要做到这一点?并让用户自由地编辑像普通文本区域中的字符。

用户将能够点击选择一个风格(这会将我变种风格整数)和字母将是一个不同的风格像프 픅 ℭ 픇(& AFR; & BFR; & CFR;等等。 )

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

欢迎任何方法! :)

谢谢!

用户可以键入的示例:您好,我的名字是Friedpanseller!

textarea的可以显示什么:ℋ ℯ 퓁 퓁 ℴ ℳ 퓎 풩 풶 퓂 ℯ ℐ 퓈 픉 픯 픦 픢 픡 픭 픞 픫 픰 픢 픩 픩 픢 픯!

然后用户可以在中间删除一些字/编辑它们像一个正常的textarea什么样的用户可以键入

例子:我的名字是Friedpanseller!

什么textarea的可能显示:ℳ 퓎 풩 풶 퓂 ℯ 퓈 풜 퓇 ℯ 픉 픯 픦 픢 픡 픭 픞 픫 픰 픢 픩 픩 픢 픯!

+0

我认为你的html页面没有得到字体。控制台上是否有错误? –

+0

我希望用户能够在旅途中输入。我可以将textarea的内容预设为我想要的任何内容,但用户无法使用花哨字体输入自己的段落 –

+1

http://stackoverflow.com/questions/12850088/simple-jquery-plugin-to-insert-special- characters-into-textarea-field-non-edito –

回答

0

尝试使用第三方工具(主要是我喜欢用CKEditor),因为它的自由

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); 
    } 
}); 

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

+0

你的例子可以工作,但是当我自己尝试时,由于某种原因它不起作用。 我完全复制了jsfiddle到空白html文件中的内容,并且它在输入时不会改变a。 http://friedpanseller.com/test/test.html –

+0

尝试直接在HTML中使用''标记添加它,或者如果这就是你所做的,那么尝试将它作为资源添加到HTML文档的“”中。 –

0

当您在空白html中添加代码时,请为jquery事件绑定添加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页面相同的代码。