Javascript+Textarea: voriges zeichen selektieren
-caRty- 24.11.2005 - 11:55 1112 5
-caRty-
Here to stay
|
hallo!
habe ein problem:
ich möchte mittels javascript das vorhergehende zeichen in einer textarea (vor der aktuellen curser position) selektieren, sodass ich es mittels document.selection.createRange() auswählen kann und dann löschen.
jedoch hab ich keine möglichkeit gefunden das zu realisieren!
wisst ihr mehr?
lg
|
Rektal
Here to stay
|
google "javascript textarea get cursor position, 4. Link http://www.faqts.com/knowledge_base....phtml?aid=5967//This function returns the index of the cursor location in
//the value of the input text element
//It is important to make sure that the sWeirdString variable contains
//a set of characters that will not be encountered normally in your
//text
function getCursorPos(textElement) {
//save off the current value to restore it later,
var sOldText = textElement.value;
//create a range object and save off it's text
var objRange = document.selection.createRange();
var sOldRange = objRange.text;
//set this string to a small string that will not normally be
encountered
var sWeirdString = '#%~';
//insert the weirdstring where the cursor is at
objRange.text = sOldRange + sWeirdString; objRange.moveStart
('character', (0 - sOldRange.length - sWeirdString.length));
//save off the new string with the weirdstring in it
var sNewText = textElement.value;
//set the actual text value back to how it was
objRange.text = sOldRange;
//look through the new string we saved off and find the location of
//the weirdstring that was inserted and return that value
for (i=0; i <= sNewText.length; i++) {
var sTemp = sNewText.substring(i, i + sWeirdString.length);
if (sTemp == sWeirdString) {
var cursorPos = (i - sOldRange.length);
return cursorPos;
}
}
}
Also wenn ich mir das anschau, gibts keine Moeglich ausser du insertest einen String der sicher nicht vorkommt und schaust dann wo der ist, dann weisst du's eh. Uargs :-) Andere Links weisen darauf hin dass es mit document.selection.createRange() gehen koennte .. ein wenig mehr recherche wird sicher noch genaueres zu Tage bringen. Waere super wenn du dass dann posten koenntest.
|
-caRty-
Here to stay
|
danke für den tip
werde ich am montag in der arbeit mal probiern! habe glaub ich einen halben tag gesucht ohne eine lösung zu finden. das problem ist, dass ich ein softkeyboard implementieren muss, jedoch der textarea "backspace" nicht senden kann.
aber wie gesagt, danke nochmal und ich werds auf diese weise versuchen
|
-caRty-
Here to stay
|
danke es geht, kann jetzt ein zeichen vor der cursorposition löschen!
habe mir die funktion etwas umgebaut!
|
Rektal
Here to stay
|
Ja, welche genau? Kurze Beschreibung wie, damit andere auch profitieren, waere super. lG
|
-caRty-
Here to stay
|
bin am mittwoch wieder in der arbeit, da werd ichs reinstellen!
|