Tällä hetkellä on (valmisskriptillä toteutetussa) keskustelupalstassa ominaisuus, jolla käyttäjä voi lomakkeen tekstikentän vieressä olevia erilaisia hymiönkuvia klikata, jolloin vastaava hymiökoodi lisätään automaattisesti kirjoitetun tekstin perään.
Ongelmana on, että hymiö lisätään aina koko tekstin perään vaikka kursori olikin ollut esim. jo kirjoitetun tekstin puolivälissä. Olisiko jollain heittää valmista javascriptin pätkää (tai linkkiä johon kirjastoon), jolla hymiötä klikkaamalla se tulisi siihen kohtaan tekstiä, jossa kursori oli tekstissä ennen kuvan klikkaamista?
Get what I mean? Olen sen verran noviisi (kuten nimimerkkikin kertoo ;) näissä javascript-asioissa, ettei oikein omat rahkeet vielä riitä...
Ongelmana on, että hymiö lisätään aina koko tekstin perään vaikka kursori olikin ollut esim. jo kirjoitetun tekstin puolivälissä. Olisiko jollain heittää valmista javascriptin pätkää (tai linkkiä johon kirjastoon), jolla hymiötä klikkaamalla se tulisi siihen kohtaan tekstiä, jossa kursori oli tekstissä ennen kuvan klikkaamista?
Get what I mean? Olen sen verran noviisi (kuten nimimerkkikin kertoo ;) näissä javascript-asioissa, ettei oikein omat rahkeet vielä riitä...
Vastaukset 2
Vanhimmat
function insertAtCaret (textEl, text) {
if (textEl.createTextRange && textEl.caretPos) {
var caretPos = textEl.caretPos;
caretPos.text =
caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
text ' ' : text;
} else {
textEl.value = textEl.value text;
}
return true;
}
Tämä caret-homma toimii ymmärtääkseni vain uudemmassa IE:ssä. Kutsutaan onclick="insertAtCaret (textEl, text);"...
Koeta löytää muuttujille arvot, pätkä on kopasattu omasata vieraskirjastani ja toimii kyllä.
Tattista vaan! =)
Täytyypä alkaa "purkaa" mitä tuo funktio tekee ja katsoa jos keksisi miten sen saa toimimaan muissakin selaimissa.