我正在asp.net中开发并在屏幕上有一个文本框,光标位于应该添加一些文本的位置。
页面上有一个按钮,或者至少会有按钮,当按下时会将文本插入文本框中光标位于按下按钮的位置,不会丢失任何文本。光标的位置。
这是否可以在javascript中,记住我不知道任何javascript超出警报('');我明白当你点击按钮时光标位置可能会丢失。
实际上会有七个小按钮,每个按钮都插入一个不同的字符串。
由于
答案 0 :(得分:3)
是的,这是可能的。 这是我们用来完成您正在寻找的功能
// 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;
}
}
您需要做的就是将textbox / textarea作为第一个参数传递,并将文本作为第二个参数传递,然后将BOOM传递给它!
更新:一个实例:http://jsbin.com/owesik/1/edit
答案 1 :(得分:0)
请参阅this answer以获取一些指示。
简短版本是“是的,有可能,至少在最近的浏览器中”。但是,您需要自学一些JavaScript才能实现这一目标。我个人推荐这个online book(并且与作者没有任何关系)。