Volledige versie bekijken : Button die tekst invoegt
Bzil
%Europe/Berlin %076 %2005, 01:50
Ik wil met een button een tekst invoegen in het input txt veld, vanaf waar de cursor staat..
Heb al ff gezocht, maar kon nix vinden..
Verder dan dit kom ik zelf niet:
btn_link.onRelease = function(){
txt_input.text = "blahblah";
}
Maar dan vervangt ie de hele tekst..
Iemand enig idee?
Flasher
%Europe/Berlin %377 %2005, 09:03
Je moet kijken naar waar de cursor staat, en dat opslaan in een variabele. Selection.getCaretIndex() is namelijk undefined in de button functie zelf omdat het textveld dan geen focus meer heeft. Je moet wel ff kijken of Selection.getFocus() een string of een reference teruggeeft, als het een string is moet txt_input tussen quotes.
var caret:Number
onEnterFrame = function() {
if(Selection.getFocus() == txt_input) caret = Selection.getCaretIndex();
}
btn_link.onRelease = function() {
txt_input.text = txt_input.text.slice(0,caret) + "blablabla" + txt_input.text.slice(caret);
}
Bzil
%Europe/Berlin %499 %2005, 11:59
Thanx!
ik wil de volgende regel toevoegen (editor) : "<a href="http://www.***" target= "_blank" >***</a>". Het probleem is de aanhalingstekens.. weet je toevallig hoe ik die aanhalingstekens in die regel gewoon als harde tekst kan invoegen..
Bzil
%Europe/Berlin %502 %2005, 12:03
Ben er al uit:
btn_Url.onRelease = function() {
txt_input.htmlText = txt_input.htmlText.slice(0,caret) + "<a href='http://www.***' target= '_blank' >***</a>";
Gewoon ' gebruiken..
Flasher
%Europe/Berlin %517 %2005, 12:24
of escapen met een \ (backslash) :
"<a href=\"http://blabla.nl\" target=\"_blank\" >bla site</a>"
Bzil
%Europe/Berlin %545 %2005, 13:05
Ok, weer wat wijzer! :)
Roenes
%Europe/Berlin %552 %2005, 13:16
Flasher, waar jij nu die onEnterFrame voor gebruikt, kun je beter de onSetFocus van het tekstvak gebruiken :) Minder cpu intensief en daar is de functie voor bedoelt ;)
Flasher
%Europe/Berlin %581 %2005, 13:57
nope, want de caretIndex kan wijzigen terwijl er aan de focus niks verandert. Je kan het wel met mouse/key listeners gaan oplossen, maar ik weet niet of dat veel handiger is. Een onEnterFrame vond ik de makkelijkste oplossing.
Bzil
%Europe/Berlin %648 %2005, 15:34
werkt prima, cpu wordt iig niet belast volgens mij..
Bzil
%Europe/Berlin %731 %2005, 17:33
Ik ontdek net dat ie de tekst altijd aan het einde van de tekst toevoegt, en niet op de plek waar de cursor staat...??
var caret:Number
onEnterFrame = function() {
if(Selection.getFocus() == xhighlight_1) caret = Selection.getCaretIndex();
}
btn_Url1.onRelease = function() {
xhighlight_1.htmlText = xhighlight_1.htmlText.slice(0,caret) + "<font color='#42B1D5'><a href='http://www.***' target= '_blank' >***</a></font>";
}
Flasher
%Europe/Berlin %510 %2005, 12:14
Selection.getFocus() geeft een string trug, dus je moet er een eval() bij doen om het te converteren naar een reference.
Met dit script wordt het perfect ingevoegd:
var caret:Number;
onEnterFrame = function () {
if (eval(Selection.getFocus()) == xhighlight_1) {
caret = Selection.getCaretIndex();
}
};
btn_Url1.onRelease = function() {
xhighlight_1.text = xhighlight_1.text.slice(0, caret) + "<insertText>" + xhighlight_1.text.slice(caret);
};
Bzil
%Europe/Berlin %530 %2005, 12:44
Thanx voor de moeite!
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.