我正在 asp.net 中开发,屏幕上有一个文本框,光标位于应该添加一些文本的位置。
页面上存在一个按钮,或者至少它会这样做,并且当按下时会将文本插入到文本框中光标所在位置的文本框中,只有在该位置添加的关键字才会丢失文本光标。
这是否可以在 javascript 中使用,请记住我不知道除了 alert(''); 之外的任何 javascript;我明白当您单击按钮时,光标位置可能会丢失。
实际上会有七个小按钮,每个按钮都插入一个不同的字符串。
谢谢
我正在 asp.net 中开发,屏幕上有一个文本框,光标位于应该添加一些文本的位置。
页面上存在一个按钮,或者至少它会这样做,并且当按下时会将文本插入到文本框中光标所在位置的文本框中,只有在该位置添加的关键字才会丢失文本光标。
这是否可以在 javascript 中使用,请记住我不知道除了 alert(''); 之外的任何 javascript;我明白当您单击按钮时,光标位置可能会丢失。
实际上会有七个小按钮,每个按钮都插入一个不同的字符串。
谢谢
是的,这是可能的。这是我们用来做您正在寻找的功能的功能
// myfield: the DOM element that you need to interact with
// myValue: the text to be instered
function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
} else {
myField.value += myValue;
}
}
您需要做的就是将您的文本框/文本区域作为第一个参数传递,并将文本作为第二个参数传递,然后 BOOM,它正在工作!
更新:一个活生生的例子:http: //jsbin.com/owesik/1/edit