2

我正在 asp.net 中开发,屏幕上有一个文本框,光标位于应该添加一些文本的位置。

页面上存在一个按钮,或者至少它会这样做,并且当按下时会将文本插入到文本框中光标所在位置的文本框中,只有在该位置添加的关键字才会丢失文本光标。

这是否可以在 javascript 中使用,请记住我不知道除了 alert(''); 之外的任何 javascript;我明白当您单击按钮时,光标位置可能会丢失。

实际上会有七个小按钮,每个按钮都插入一个不同的字符串。

谢谢

4

2 回答 2

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;
    }
}

您需要做的就是将您的文本框/文本区域作为第一个参数传递,并将文本作为第二个参数传递,然后 BOOM,它正在工作!

更新:一个活生生的例子:http: //jsbin.com/owesik/1/edit

于 2012-11-08T10:46:58.993 回答
0

请参阅此答案以获取一些指示。

简短的版本是“是的,至少在最近的浏览器中是可能的”。但是,您需要自学一些 JavaScript 才能使其正常工作。我个人推荐这本在线书籍(与作者无关)。

于 2012-11-08T10:45:24.440 回答