Het werkt goed, want ik gebruik de mono-font, die even groot is als 1 stap in het size-attribuut. Nu heb ik echter één probleem. Als ik iets in de input plak, dan reageert hij hier niet goed op. Nu heb ik al geprobeerd om een OnKeyUp te gebruiken voor de Ctrl+V-actie, maar dan maakt hij hem groter, maar de text zit links van de input.
Dit bedoel ik zo:
[] <- Dit is het inputboxje.
[hallo] size: 5
>> Nu plak ik de string 'Plakken';
[akken ] size: 12
Weet iemand een oplossing om dit te verhelpen? Dat hij wel goed reageert op geplakte text.
Alvast bedankt,
Miloan
Ja, dat had ik al geprobeerd met de CTRL-knop, maar dan krijg ik bovenstaand probleem, omdat ik te vroeg (of juist te laat ben). Met OnKeyDown en OnKeyPress ben ik te vroeg, dan is er nog niets geplakt. Met OnKeyUp ben ik te laat. De actie gebeurt dus pas na OnKeyDown en OnKeyPress en voor OnKeyUp.
Maar ik begrijp niet waarom hij bij OnKeyUp hij links van het scherm verschijnt.
Ik zou sowieso onKeyUp hanteren. Beter laat dan nooit : ). Ga nu eens een beetje debuggen middels alert(), en kijk wat obj.size, obj.value.length e.d. bevatten op het moment dat jij ze gebruikt.
function SizeInput (obj) {
obj.size = obj.value.length+1;
}
function CtrlV (obj, evt) {
var code = (evt.keyCode) ? evt.keyCode : evt.which;
if (code === 86 && evt.ctrlKey === true) { // is er Ctrl+V gedrukt?
SizeInput(obj);
obj.value += ''; // Om de string aan het begin van de input te tonen
}
}
Echter heb ik nu een probleem met de muis. Want JS stuurt de informatie als je klikt. Echter als je rechtermuis drukt, dan triggert hij de event, maar de gebruiker zou dan nog op plakken in het rechtermuis-menu moeten kiezen. Dus de functie is met OnClick, OnMouseDown, OnMouseUp niet te doen. Ook kan OnMouseMove niet, want als je op plakken hebt geklikt, dan zit je muis WAARSCHIJNLIJK niet meer op de input-element.