Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489

    event.which non funziona in ff!

    ciao gente!

    ho uno script che fa si che dei pulsanti seguano il mouse all interno della pagina. cio funziona sia in firefox che in IE. vi posto una parte dello script. questa fa si che lo segua soltanto se non viene premuto il pulsante DESTRO del mouse. in sostanza ho un menu che segue il mouse, se premo il pulsante sinistro posso selezionare il bottone del menu perche il menu non si muove finche il pulsante sinistro é premuto.

    il problema é che funziona in IE ma non funziona in firefox. in particolare il menu non smette di seguire il mouse.

    sapete aiutarmi?

    grazie

    ciao

    igor

    codice:
    function follow(evt) {
    if (!evt) evt = window.event;
    
    if (document.getElementById) {var obj = document.getElementById(divName1).style; obj.visibility = \'visible\';
    if (evt.button != 2 && evt.which != 2)
    {
    obj.left = (parseInt(mouseX(evt))+offX1) + \'px\';
    obj.top = (parseInt(mouseY(evt))+offY1) + \'px\';
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    document.getElementById("divName1")

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    grazie ma il problema non é questo. divname é una variabile.

    in IE questo codice funziona, in firefox no.
    io eseguo lo script cosi: document.onmousemove = follow();

    continuando a cercare ho trovato su internet che per farlo funzionare devo implementare la parte "dont (event);" di questo esempio, ma non ho idea di come fare..

    codice:
    Click here with various mouse buttons to test
    
    <script language="Javascript"> 
    
    function buttonalert(event)
    {
        var button;
        if (event.which == null)
           button= (event.button < 2) ? "LEFT" :
                     ((event.button == 4) ? "MIDDLE" : "RIGHT");
        else
           button= (event.which < 2) ? "LEFT" :
                     ((event.which == 2) ? "MIDDLE" : "RIGHT");
        alert(button);
        dont(event);           
    }
    
    function dont(event)
    {
        if (event.preventDefault)
            event.preventDefault();
        else
            event.returnValue= false;
         return false;           
    }
    </script>
    ma non sono capace.. ho provato ma non funziona.

    grazie ancora

    ciao

    igor

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    document.onmousemove = follow(event);

    window.event torna undefined in ff se non ricordo male... fai una prova...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    ho sbagliato io!

    non lo richiamo con follow() ma semplicemente con follow; se metto () o (event) non funziona piu nulla ne in firefox ne in IE.

    credo che il problema sia che in FF il tasto destro da prioritį al context menu, e quel codice aggiuntivo che ho postato prima dovrebbe disabilitare il context menu. se uso lo stesso identico codice per il tasto sinistro invece che destro funziona..

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    document.oncontextmenu = function() {}

    cosi puoi intercettare il click destro del mouse dentro la funzione mettici le istruzioni che vuoi eseguire o associalo ad una tua funzione

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    grazie mille!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.