10.6k Aufrufe
Gefragt in Webseiten HTML von abschweb Mitglied (233 Punkte)
Hallo Experten,

ich habe ein HTML-Formular, das auch ganz gut funktioniert.
Enthalten sind unter anderem: Ein Listenfeld und ein Knopf, der entsprechend der Wahl im Listenfeld eine Javascript-Funktion aufruft. Im Listenfeld wird ondblclick ebenfalls diese Funktion aufgerufen. Die Mausbedienung lässt also keine Wünsche offen. Schön wäre es jetzt, wenn das auch mit der Entertaste erreicht werden könnte, wenn der Fokus im Listenfeld steht. Gibt es dafür eine einfache Lösung?

Danke,
Manfred

22 Antworten

0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Ich weiß, was du meinst: man kann dem Handler auch mehr Parameter übergeben:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Form Test</title>

<script type="text/javascript">
function Check (Taste, zwei)
{
if (typeof (Taste) == 'object')
alert ('Netscape: ' + Taste.which)
else
if (typeof (event) == 'object')
alert ('Microsoft: ' + event.keyCode)
else
alert ('nix?');
alert(zwei);

return false;
}

window.onload=function ()
{
with (document)
{
Formular.Eingabe.focus ();
}
document.getElementById("Eingabe").onkeypress=function(e){Check(e, 'zwei');};
}

</script>
</head>
<body>
<form name="Formular" action="">
<input id="Eingabe" size=20 >
</form>
</body>
</html>
0 Punkte
Beantwortet von katy Mitglied (787 Punkte)
sehe ich da was falsch
ja! Natürlich kannst du verschiedenen Events in verschiedenen Elementen die gleiche Funktion zuweisen. Hier im Beispiel allen Bildern:

function BilderTitel() {
var bilder=document.images;
for (var i=0; i<bilder.length; i++) {
bilder[i].onclick=function () {
alert(this.title);
}
}
window.onload=BilderTitel;


Natürlich bezieht sich this in diesem Kontext auf das jeweilige Bild.

katy
...