scroll text input in Firefox

Status
Niet open voor verdere reacties.

Glest

Gebruiker
Lid geworden
6 sep 2007
Berichten
688
Hey, ik heb net een autocomplete text input gemaakt. Het werkt allemaal prima, maar er is één probleem.

De tekst wordt nu geselecteerd toegevoegd aan het veld, maar in Firefox scrollt het veld niet mee om de nieuwe (geselecteerde) tekst te laten zien.

De code die voor dit gedeelte verantwoordelijk is:
Code:
if (field.createTextRange != undefined) {           // IE code
	var acRange = field.createTextRange();
	acRange.moveStart("character", length);
	acRange.moveEnd("character", newLength);      
	acRange.select();
	acRange.scrollIntoView();
}else if (field.setSelectionRange != undefined) {           // Firefox code
    	field.setSelectionRange(length, length + newLength);
}

Zoals je kunt zien is er in IE (los van veel gecompliceerdere code) acRange.scrollIntoView();

Voor Firefox kan ik geen alternatief vinden. Niet eens een manier om handmatig door een input veld te scrollen.

Heeft iemand een idee hoe ik acRange.scrollIntoView(); kan vervangen in Firefox?
 
Bedank voor je antwoord.

Het werk alleen niet :( Ik heb .scrollTop en .scrollLeft geprobeerd. Ze staan allebij in de Gecko DOM refrence, en msdn. Ik las wat verder op msdn en vondt dit:

This property's value equals the current horizontal offset of the content within the scrollable range. Although you can set this property to any value, if you assign a value less than 0, the property is set to 0. If you assign a value greater than the maximum value, the property is set to the maximum value.

You can set this property inline, but the results might be inconsistent while the page loads.

This property is always 0 for objects that do not have scroll bars. For these objects, setting the property has no effect.

When a marquee object scrolls vertically, its scrollLeft property is set to 0, overriding any script setting.

Oftewel, een text input heeft geen scrollbar en kan daarom blijkbaar niet scrollen :mad:
 
Ik dacht dat je een textarea gebruikte. :o

Het dichtste bij dat ik kom is met:
PHP:
<textarea style="overflow: hidden;" cols="12" rows="1" wrap="off"></textarea>
Alleen geeft Fx die 2 regels hoog weer. :confused:

Ze laten hier ook een selectiemethode zien, maar ook daar scrolled Fx niet naar rechts.


Dan weet ik het helaas niet ... :(


Vr.Gr. Egel.
 
hmm, een textarea zou ook nog eens met javascript veranderd moeten worden om geen regeleindes toe te staan. En niet iedereen heeft javascript aan :(

Wel vreemd dat .scrollTop/Left niet werkt in een text input :confused:

En in Firefox 2 kun je nog geen key press simuleren, anders zou ik nog een pijltjes toets kunnen faken.

Vreemd... iets wat in IE beter is geregeld dan in Firefox :eek:
 
sorry voor dubbel post, maar ik moet even opmerken dat in Internet Exporer scrollLeft wel gebruikt kan worden om een text input te scrollen....

tut tut Gecko... :(
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan