shiftKey + onClick auf Element kombinieren

Naja, an das Event-Objekt kann ich ja sowieso nichts übergeben außer den Event-Handler, oder Vielleicht sehe ich da auch was falsch...
 
Sven Mintel hat gesagt.:
du brauchst das nicht per "this" übergeben, im Event-Objekt ist das auslösende Element auch so verfügbar:

IE:Ereignis.srcElement
andere:Ereignis.target


Lieber Sven, klär uns mal bitte auf :-) Dein Wissen wird dringend benötigt...

Also, was ist an meinem Code falsch, dass es nur im IE funktioniert?
Gruß!
 
An deinem Code ist nichts falsch:)
Die frage war ja , wie man das auslösende Element anspricht bzw. es an weitere Funktionen als Objekt übergeben kann.

Prinzipiell erstmal: das überwachen des onmousedown ist unnötig.
Beim onclick kann man auch ohne dies ermitteln, ob eine Sondertaste gedrückt ist.
Wie man über das auslösende Objekt verfügen kann, hab ich ja vorher gepostet... das ist unterschiedlich in IE und anderen Browsern.

Das Ganze könnte also so aussehen:
Code:
<html>
<head>
<title>Test</title>
</head>
<title>Test</title>
<script type="text/javascript">
<!--
function funcNurClick(objElm)
{
    alert(
            'CLICK OHNE SHIFT:\nID:' +
             objElm.id + 
             '\n('+objElm.firstChild.data+')'
         );
}

function funcClickUndShift(objElm)
{
    alert(
            'CLICK MIT SHIFT:\nID:' +
             objElm.id +
             '\n('+objElm.firstChild.data+')'
         );
}


function mausklick(objEvt) 
{
objTarget = (window.event) ? objEvt.srcElement : objEvt.target;
    if(objEvt.shiftKey)
        {
            funcClickUndShift(objTarget)
        }
    else
        {
            funcNurClick(objTarget)
        }
objEvt.returnValue = false;
}
//-->
</script>
</head>
<body>
<a href="#" onclick="mausklick(event)" id="1">Aufruf 1</a>
<a href="#" onclick="mausklick(event)" id="2">Aufruf 2</a>
<a href="#" onclick="mausklick(event)" id="3">Aufruf 3</a>
</body>
</html>

Mik3e hat gesagt.:
Naja, an das Event-Objekt kann ich ja sowieso nichts übergeben außer den Event-Handler, oder Vielleicht sehe ich da auch was falsch...
An das Event-Objekt kannst du überhaupt nicht übergeben.
Brauchst du auch garnicht... der Event selbst stellt alles Nötige zur Verfügung.
Um bspw. zu ermitteln, welcher Event grade eingetreten ist, frage die type-Eigenschaft des Events ab.
 
Ja, das sieht sehr nach dem aus was ich brauche...
Werde es dann gleich mal testen.. Danke jedenfalls!

Wenns nicht klappt, nerv ich nochmal :)

LG
Mike
 

Neue Beiträge

Zurück