Reacties op het script tab's in textarea
|
Gepost op: 09 oktober 2005 - 19:46 |
|
|
|
PHP expert
|
Mag ik vragen waarom nog niet goedkeuren? |
|
|
|
Gepost op: 09 oktober 2005 - 19:47 |
|
|
|
JS gevorderde
|
omdat ik nog aan het verbeteren ben (typ foutjes), is direct in orde |
|
|
|
Gepost op: 09 oktober 2005 - 19:53 |
|
|
|
PHP expert
|
Misschien nog een tweede toetsencombinatie maken die het mogelijkmaakt de daadwerkelijke tab uit te voeren.
SHIFT TAB doet het omgekeerde, dus zoiets maar dan om 'weer' vooruit te gaan. |
|
|
|
Gepost op: 09 oktober 2005 - 19:55 |
|
|
|
JS gevorderde
|
'k zal er een keer voor kijken, maar nu niet, want 'k heb nog huiswerk:'( |
|
|
|
Gepost op: 10 oktober 2005 - 19:36 |
|
|
|
Moderator
|
Waarom zou je in hemelsnaam tabs in een textarea willen hebben?
Je kan trouwens ook gewoon een tab vanuit notepad pasten als je hem per sé nodig hebt. |
|
|
|
Gepost op: 10 oktober 2005 - 21:19 |
|
|
|
JS gevorderde
|
maar dit duurt langer en is omslachtig, 'k zit hier vaak te f***, wrm er nu hier geen tabs worden ondersteunt. Is echt handig bij het scripten. |
|
|
|
Gepost op: 10 oktober 2005 - 22:41 |
|
|
|
Moderator
|
Ja, als ik script, gebruik ik ook altijd een webform, en geen editor met syntax highlighting . |
|
|
|
Gepost op: 11 oktober 2005 - 10:55 |
|
|
|
Moderator
|
maar het is wel handig als je bijvoorbeeld een klein stukje script moet editten (op bv SiMa) en je wilt dit gewoon even snel doen, zonder editor. Dan is het handig als er gewoon tabs gaan werken.
Ik ga het wel gebruiken dit script. Je krijgt van mij 5 punten haytjes! |
|
|
|
Gepost op: 11 oktober 2005 - 14:46 |
|
|
|
Nieuw lid
|
Zodra ik mijn cursor in het veld zet, staat die niet helemaal aan het begin ?
Zowel in IE als FF.
|
|
|
|
Gepost op: 11 oktober 2005 - 18:07 |
|
|
|
JS gevorderde
|
ik snap het probleem niet,
normaal als je in een textarea drukt, staat je cursor toch waar je hem wil zetten (dus waar je klikt)? |
|
|
|
Gepost op: 12 oktober 2005 - 00:50 |
|
|
|
Nieuw lid
|
Uhm nee, hij staat normaal altijd aan het begin.
Bij mij toch in ieder geval. |
|
|
|
Gepost op: 12 oktober 2005 - 21:48 |
|
|
|
JS gevorderde
|
@nemesiskoen:
'k heb de nieuwe versie online gezet, die zorgt er nu voor dat je via altGr + TAB, de engine kan aan en uit zetten.
'k heb ook een checkboxje toegevoegd om hem aan en uit te zetten.^^ |
|
|
|
Gepost op: 13 oktober 2005 - 07:49 |
|
|
|
Nieuw lid
|
Nu staat de cursor wel aan het begin
Het is nu best een leuke functie, kan je mooi gebruiken voor een cms paneel of iets dergelijks. |
|
|
|
Gepost op: 13 oktober 2005 - 14:57 |
|
|
|
PHP interesse
|
Hij klopt niet helemaal, als ik een paar keer altgr+tab duw en daarna tabjes ga plaatsen dan plaatst hij een tabje in de textarea en vervolgens gaat hij tóch naar het volgende onderdeel, hij verliest zijn focus. Even geen tijd om te zoeken waar het hem zit.. |
|
|
|
Gepost op: 09 mei 2006 - 22:27 |
|
|
|
PHP expert
|
zouhet mogelijk zijn om in de code zelf ook commentaar te zetten?
ik zou wel graag weten wat wat doen enz. |
|
|
|
Gepost op: 10 mei 2006 - 13:19 |
|
|
|
JS gevorderde
|
oké, 'k wil ik dat wel doen, maar het heeft niet veel nut. 'k zal daarom hier zeggen wat er in JS gebeurt. Kan je het zelf linken. Het is dus wel de bedoeling dat je JS kent, voor je het zal begrijpen
window.onload = function() // Dit wordt maar aangeropen als het hele document is geladen
{
for( alle textarea's )
{
if( is er voor die textarea een atribuut wysiwyg met value true? )
{
if( een grafische knop nodig, voor het tab gebruik aan en uit te zetten )
{
Zet voor de Textarea een checkbox met wat text
}
Zet achter de Textarea een een input-veldje
en als je iets in dit input-veldje typt roep functie position() aan.
Als je de knoppen lost, zet hij altGr = false;
(dit is om ervoor te zorgen, dat hij alleen maar als je 2 knoppen tegelijk indrukt,
dus altGr + tab dat hij wisselt tussen aan/uit)
}
}
};
function position(e)
{
krijg waar de cursor staat
var key = ingedrukte key;
if ( als er een key is ingedrukt )
{
if (als de key dat je indrukt gelijk is als dedene die is ingesteld in a_u_key)
{
sla op dat hij ingedrukt is
}
if (key == 9) // == tab
{
if(de toetsencombinatie om te wisselen tussen aan/uit is ingedrukt)
{
aan of uit zetten
}
if(a_u)
{
voeg een tab toe
}
}
}
}
function insertAtCursor(myField, myValue)
{
// een functie om de tab op de juiste plaats in te voegen.
//IE support
if (document.selection)
{
myField.focus();
sel.text = myValue;
sel.moveStart('character', 0);
sel.select();
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0')
{
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
myField.selectionStart = startPos+myValue.length;
myField.selectionEnd = startPos+myValue.length;
}
else
{
myField.value += myValue;
}
}
window.onload = function() // Dit wordt maar aangeropen als het hele document is geladen { for( alle textarea's ) { if( is er voor die textarea een atribuut wysiwyg met value true? ) { if( een grafische knop nodig, voor het tab gebruik aan en uit te zetten ) { Zet voor de Textarea een checkbox met wat text } Zet achter de Textarea een een input-veldje en als je iets in dit input-veldje typt roep functie position() aan. Als je de knoppen lost, zet hij altGr = false; (dit is om ervoor te zorgen, dat hij alleen maar als je 2 knoppen tegelijk indrukt, dus altGr + tab dat hij wisselt tussen aan/uit) } } }; function position(e) { krijg waar de cursor staat var key = ingedrukte key; if ( als er een key is ingedrukt ) { if (als de key dat je indrukt gelijk is als dedene die is ingesteld in a_u_key) { sla op dat hij ingedrukt is } if (key == 9) // == tab { if(de toetsencombinatie om te wisselen tussen aan/uit is ingedrukt) { aan of uit zetten } if(a_u) { voeg een tab toe } } } } function insertAtCursor(myField, myValue) { // een functie om de tab op de juiste plaats in te voegen. //IE support if (document.selection) { myField.focus(); sel.text = myValue; sel.moveStart('character', 0); sel.select(); } //MOZILLA/NETSCAPE support else if (myField.selectionStart || myField.selectionStart == '0') { myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length); myField.selectionStart = startPos+myValue.length; myField.selectionEnd = startPos+myValue.length; } else { myField.value += myValue; } }
|
|
|
Enkel aanvullende informatie, vragen en antwoorden op vragen zijn welkom. |
|
|
|