URL: https://www.overclockers.at/coding-stuff/javascript_events_selber_ausloesen_56559/page_1 - zur Vollversion wechseln!
Ich möchte im onFocus Event von einer DropDownList, die Breite von jenigerwelchen verändern, und diese gleichzeitig aufklappen.
Ich hätt mir gedacht selber noch ein onClick hinterher zu jagen.
Weiss wer wie das geht?
ich glaube das aufmachen der box ist nicht möglich. "onClick" usw.. sind nur User-EventHandler (erzeugt das system um dem user gelegenheit zur reaktion auf ein systemereignis zu ermöglichen) - es sind keine System-EventHandler (wo das System auf Events wartet, das tut es zb in der windows message queue).
du kannst die user-handler aufrufen aber es hat nicht den effekt eines mausklicks.
darf man fragen was das werden soll ?
ganz einfach, ich hab eine DropDownliste von der nur der "Pfeil" sichtbar ist, wenn der User den Focus drauflegt, soll sie aufgehen der User was auswählen, das wird in die Textbox deneben übernommen, und dann wenn der Focus wieder verloren gehn, soll das Ding wieder schmal werden.
Problem: Ich krieg das onFocus, mach die Liste breiter, aber dann muss der User nochmal klicken, um sie zu öffnen, und das werden unsere Verkäufer sehr bald bemängeln.
die liste breiter machen mit onmousedown
vielleicht bin ich zu blöd aber des geht auch nicht:
<html>
<head>
<script language="javascript">
<!--
function test(id)
{
id.parentElement.style.width="50%"
}
-->
</script>
</head>
<body>
<table style="width:100%">
<tr>
<td style="width:20px">
<select ID="t1" style="width:100%" onMouseDown="javascript:test(this)">
<option>test1</option>
<option>test2</option>
<option></option>
</select>
</td>
<td>
<input ID="t2" type="text" style="width:100%">
<td>
</tr>
</table>
</body>
</html>
der onClick dürft immer noch vorher kommen, weil die Liste kurz aufflackert.
workaround: ccs-layer der eingeblendet wird, und dropdown-liste simuliert.
geht auch nicht so einfach, weil das eine ASP.NET DropDownliste ist, wo ich nach dem postback das selecteditem brauch, und selber schreiben funktioniert auch nicht wirklich (aus Zeitgründen).
dann verwende eine ASP.NET select-liste auf einem unsichtbaren css-layer, den du einblendest, sobald jemand auf ein pfeil-image klickt, und ausblednest, wenn er was ausgewählt hat.
edit: bledsinn...
sorry
edit2: doch noch was gefunden...
und zwar: du kannst beim mouseover eine liste aus dem dropdown machen, so ca:
Code:<script type="text/javascript"> <!-- var Breite = 3; function erweitern() { Breite = 10; document.getElementsByName("Eingabe")[0].size = Breite; } function normal() { Breite = 1; document.getElementsByName("Eingabe")[0].size = Breite; } //--> </script> <form name="Formular"> Geben Sie Text ein:<br> <select size="1" name="Eingabe" onMouseout="normal()" onMouseOver="erweitern()"> <option value=1>AKarli</option> <option value=2>BKarli</option> <option value=3>CKarli</option></select> </form>

overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026