Autor | Zpráva | ||
---|---|---|---|
Rox Cox Profil |
#1 · Zasláno: 17. 5. 2009, 16:05:50 · Upravil/a: Rox Cox
Čůs. Potřeboval bych vědět jak označit pouze vybraný text tagem (jako třeba tady na fóru). Používám...
<input name="b" type="button" onclick="text.value+[b][/b]"> <textarea name="text"></textarea> ...ale to návštěvníky docela otravuje. |
||
Časová prodleva: 3 dny
|
|||
fajzen Profil |
<input name="b" type="button" onclick="AtF('b','text');"> <textarea name="text" id="text"></textarea> JavaScript: function AtF(tag, kam) { try { // IE var vyber = document.selection.createRange().text; document.selection.createRange().text = "[" + tag + "]" + vyber + "[/" + tag + "]"; } catch(e) { try { // FF mozWrap(document.getElementById(kam), "[" + tag + "]", "[/" + tag + "]"); } catch(e) { // inak klasicky document.getElementById(kam).value+= "[" + tag + "][/" + tag + "]"; } } } function spol_mozWrap(txtarea, lft, rgt) { var selLength = txtarea.textLength; var selStart = txtarea.selectionStart; var selEnd = txtarea.selectionEnd; if (selEnd==1 || selEnd==2) selEnd=selLength; var s1 = (txtarea.value).substring(0,selStart); var s2 = (txtarea.value).substring(selStart, selEnd) var s3 = (txtarea.value).substring(selEnd, selLength); txtarea.value = s1 + lft + s2 + rgt + s3; } |
||
Rox Cox Profil |
#3 · Zasláno: 21. 5. 2009, 18:37:51 · Upravil/a: Rox Cox
Funguje to skvěle. Šlo by to ještě nějak pro FF a Chrome?
|
||
Rox Cox Profil |
#4 · Zasláno: 21. 5. 2009, 19:17:42 · Upravil/a: Rox Cox
Teď jsem objevil zvláštní věc. Když se neoznačí žádný text, tak se tag nezapíše.
|
||
fajzen Profil |
trochu som to upravil, funguje to v FF, Opere, IE6
Chrome som netestoval v IE nefunguje to, že ak niečo napíšeš, potom klikneš niekam dostredu toho textu, ale nič neoznačíš, aby to ten tag hodilo na pozíciu kurzoru, takže do stredu toho textu... v Opere aj FF to ide, v IE sa mi to nepodarilo rozbehať, v ňom sa tag hodí na koniec nextu JavaScript: function AtF(tag, kam) { try { // IE var vyber= document.selection.createRange(); if(vyber.parentElement().id == kam) document.selection.createRange().text = "[" + tag + "]" + vyber.text + "[/" + tag + "]"; else document.getElementById(kam).value+= "[" + tag + "][/" + tag + "]"; } catch(e) { try { // FF mozWrap(document.getElementById(kam), "[" + tag + "]", "[/" + tag + "]"); } catch(e) { // inak klasicky document.getElementById(kam).value+= "[" + tag + "][/" + tag + "]"; } } } function mozWrap(txtarea, lft, rgt) { var selLength = txtarea.textLength; var selStart = txtarea.selectionStart; var selEnd = txtarea.selectionEnd; if (selEnd==1 || selEnd==2) selEnd=selLength; var s1 = (txtarea.value).substring(0,selStart); var s2 = (txtarea.value).substring(selStart, selEnd) var s3 = (txtarea.value).substring(selEnd, selLength); txtarea.value = s1 + lft + s2 + rgt + s3; } |
||
Rox Cox Profil |
#6 · Zasláno: 22. 5. 2009, 15:30:26
Tak teď už je to úplně perfektní. Díky moc!!!
|
||
Časová prodleva: 15 let
|
0