2008-09-08 5 views
1

Comment capter les événements de la souris, déplacer et cliquez sur le dessus d'un directeur de Shockwave Object (pas flash) dans Firefox, via JavaScript. Le code fonctionne dans IE mais pas dans FF.Comment capturer les événements de souris dans FF, plus Shockwave Object

Le script fonctionne sur le corps du document à la fois IE et Moz, mais les événements de souris ne se déclenchent pas lorsque la souris est sur une embed objet directeur Shockwave.

Mise à jour:

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; 

Juste une remarque, j'ai également essayé d'utiliser un addEventListener à "mousemove".

+0

J'ai une question connexe. Pas de bonne réponse pour le moment. Seulement "coller quelque chose dessus". Ne fonctionne pas, bien sûr. Vous devez faire un peu de travail pour empêcher les événements de monter et descendre le dom. Je n'ai pas encore compris comment le faire. – Will

+0

Quel code utilisez-vous, je ne vois pas? –

Répondre

2

Vous pouvez également attraper l'événement de la souris dans directeur (qui ne manque jamais), puis appeler vos fonctions JS à partir de là, en utilisant gotoNetPage "javascript: function ('" & argument de & ")"

ej:

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

La détection de mouvement de la souris est un peu plus délicat, car il n'y a pas un tel événement dans le jargon, mais vous pouvez utiliser:

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 

salutations

1

Juste une idée.

Essayez superposant l'objet Shockwave avec un div avec l'opacité 0, alors vous pouvez capturer des événements sur le div lui-même.

Questions connexes