【发布时间】:2015-07-14 12:36:34
【问题描述】:
我正在学习 jquery 并为输入文本框创建一个虚拟键盘(用于输入特殊字符)。我设法将单击事件中的字母添加到用户单击的插入符号位置的输入中。
$('#keyboard #e_specchar').click(function(){
var $this = $(this);
var caret = document.getElementById('input').selectionStart;
var character = $this.html();
var textAreaStr = $('#input').val();
$("#input").val(textAreaStr.substring(0, caret) + character + textAreaStr.substring(caret) );
});
但是这也有一些缺点,例如无法替换突出显示的字符 - 而是特殊字符会出现在它旁边;或者插入符号在点击后总是跳到输入框的最后一个位置。
我想知道是否有办法,至少,防止插入符号在从点击事件创建一个字母后跳到最后一个位置?
【问题讨论】:
-
您是说希望能够通过单击按钮选择多个字符并用特殊字符替换它们?
-
您可以尝试使用 on mouseup 重新运行您在单击之前运行的子字符串方法,然后将长度添加 +1。
标签: javascript jquery html