我正在开发虚拟的土耳其字母键盘。我正在尝试将“ ed”替换为“”,但效果很好,但是在替换之前显示“ ed”。我该如何摆脱呢?请注意,如果您的计算机没有Unicode 6或更高版本,它将不会向您显示特殊字符(例如X)。
$('#text').keyup(function(e) {
$('#text').css('direction', 'rtl');
$('#text').css('unicode-bidi', 'bidi-override');
text2 = $(this).val();
text2 = text2.replace(/(ed)/g, "");
$("#text").val(text2);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="text"></textarea>
答案 0 :(得分:0)
改为使用input
事件。
$('#text').on('input', function(e) {
$('#text').css('direction', 'rtl');
$('#text').css('unicode-bidi', 'bidi-override');
text2 = $(this).val();
text2 = text2.replace(/(ed)/g, "");
$("#text").val(text2);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="text"></textarea>
答案 1 :(得分:-1)
这是您可以建立的基础。
请注意,我正在使用按键,当在转换中找到字符时,我将其添加
我想知道如果您想允许输入其他字符而不是可以转换的字符,将如何允许输入例如eX
var text1 = [],
text2 = [],
conversion = {
"ed": ""
}
$(document).keypress(function(e) {
text1.push(String.fromCharCode(e.which))
var tr = conversion[text1.join("")];
if (tr) {
text2.push(tr);
console.log(text1.join(""), tr)
$("#text").val(text2.join(""));
text1 = [];
}
});
#text {
direction: rtl;
unicode-bidi: bidi-override;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
It is read only. Just start typing<br/>
<textarea id="text" readonly></textarea>