我正在学习jquery并为输入文本框创建虚拟键盘(用于输入特殊字符)。我设法将单击事件中的字母添加到用户点击的插入位置处的输入处。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));
});
然而,这也有一些缺点太多,比如无法取代强调字符 - 而不是特殊字符似乎就在旁边;或者点击后插入符总是跳到输入框的最后位置。
我想知道是否有办法,至少,防止脱字符后,从点击事件创建一封信后跳转到最后的位置?
你是说,你希望能够选择多个角色,并通过点击该按钮用特殊字符替换它们? – IronFlare
您可以尝试重新运行您在使用mouseup进行单击之前运行的子字符串方法,然后将长度加1。 –