2008-09-08 18 views
1

Wie erfassen Sie die Mausereignisse, verschieben und klicken Sie über Firefox in einem Shockwave Director-Objekt (nicht flash) über JavaScript. Der Code funktioniert in IE, aber nicht in FF.Wie erfassen Sie Mausereignisse in FF, über Shockwave Object

Das Skript funktioniert für den Dokumentkörper von IE und Moz, aber Mausereignisse werden nicht ausgelöst, wenn sich die Maus über einem Shockwave-Director-Objekt befindet.

Update:

function displaycoordIE(){ 
    window.status=event.clientX+" : " + event.clientY; 
    }  
    function displaycoordNS(e){ 
    window.status=e.clientX+" : " + e.clientY; 
    } 
    function displaycoordMoz(e) 
    { 
     window.alert(e.clientX+" : " + e.clientY); 
    } 

    document.onmousemove = displaycoordIE; 
    document.onmousemove = displaycoordNS; 
    document.onclick = displaycoordMoz; 

nur eine Randnotiz, habe ich versucht, auch eine addEventListener auf "mousemove-".

+0

Ich habe eine verwandte Frage. Noch keine gute Antwort. Nur "kleben Sie etwas darüber." Funktioniert natürlich nicht. Sie müssen etwas tun, um zu verhindern, dass sich die Ereignisse in der Dom-Region auf und ab bewegen. Ich habe noch nicht herausgefunden, wie es geht. – Will

+0

Welchen Code verwendest du, sehe ich keinen? –

Antwort

2

Sie können auch die Maus-Ereignis innerhalb Director fangen (das nie versagt) und dann von dort aus Ihre JS-Funktionen aufrufen, mit gotoNetPage "javascript: function ('" & Argument & "')"

ej:

on mouseDown me 
    gotoNetPage "javascript:function('" & argument & "')" 
end 

bewegen Sie die Maus-Erkennung ist ein wenig komplizierter, da es keine solch ein Ereignis in Kauderwelsch ist, aber Sie können verwenden:

property pMouseLock 

on beginsprite 
    pMouseLock = _mouse.mouseLock 
end 
on exitFrame 
    if _mouse.mouseLock <> pMouseLock then 
     gotoNetPage "javascript:function('" & argument & "')" 
     pMouseLock = _mouse.mouseLock 
    end if 
end 

grüße

1

Nur eine Idee.

Versuchen Sie, das shockwave-Objekt mit einem div mit der Opazität 0 zu überlagern, dann können Sie Ereignisse auf dem div selbst erfassen.

Verwandte Themen