Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Non comprendo questo codice

    Salve a tutti,

    ho appena cominciato a studiare js e sto cercando di fare un lavoretto per cui mi serve applicare queste funzioni (allego codice HTML e JS):

    codice:
    <script type="text/javascript">
    window.onload = init;
    function init() {
    	if (window.Event) {
    	document.captureEvents(Event.MOUSEMOVE);
    	}
    	document.onmousemove = getCursorXY;
    }
    
    function getCursorXY(e) {
    	document.getElementById('cursorX').value = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    	document.getElementById('cursorY').value = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
    }
    </script>
    </head>
    <body>
    
    
    Ciao</p>
    <div id="form">
    <input type="text" id="cursorX" size="3"> X-position of the mouse cursor
    
    
    
    <input type="text" id="cursorY" size="3"> Y-position of the mouse cursor
    Lo scopo di questa funzione è quello di restituirmi la posizione del cursore ma non mi accontento di vederlo funzionare. Voglio capire come funziona.
    In generale le cose che non ho capito sono:

    if (window.Event) {
    document.captureEvents(Event.MOUSEMOVE);
    }
    document.onmousemove = getCursorXY;


    Cosa fa?
    window.Event ad esempio non riesco a trovarlo spiegato decentemente da nessuna parte e quindi non ho capito a cosa si riferisce.
    document.captureEvents(...) l'ho capito.
    In document.onmousemove = getCursorXY; non ho capito perchè nessun parametro viene passato. Leggendo in giro ho notato che è una "funzione callback" ma il parametro viene passato direttamente da JavaScript? Glielo passa ad ogni chiamata o solo in alcuni casi? Visto che ne ho capito poco non è che mi potete spiegare cosa succede oppure passarmi un link per una buona guida
    Grazie mille.

  2. #2

  3. #3
    Grazie mille per la risposta. Il link di HTML.it l'ho trovato abbastanza carente in quanto utilizza una terminologia tipica degli esperti (veramente un peccato perchè pregiudica il contenuto della guida se si pensa che gli esperti non si metteranno mai o quasi a studiarla) ma comunque ne ho tratto fuori qualcosina.
    Il secondo link e il terzo sono perfetti Mi hanno fatto capire molte cose. Grazie mille.

    Ad ogni modo non sono ancora riuscito a capire cosa fa la funzione init().
    Correggimi se sbaglio. Nella onload della window viene eseguita la funzione init.
    "if (window.Event)" cosa fa e perchè? Serve per evitare l'esecuzione di codice a seconda del browser?

    Grazie

  4. #4
    Originariamente inviato da firagaspell

    Ad ogni modo non sono ancora riuscito a capire cosa fa la funzione init().
    Correggimi se sbaglio. Nella onload della window viene eseguita la funzione init.
    "if (window.Event)" cosa fa e perchè? Serve per evitare l'esecuzione di codice a seconda del browser?
    Grazie
    si e lo script sbaglia perchè non utilizza una funzione tipo


    Codice PHP:
    function doSomething(e) {
        var 
    targ;
        if (!
    e) var window.event;
        if (
    e.targettarg e.target;
        else if (
    e.srcElementtarg e.srcElement;
        if (
    targ.nodeType == 3// defeat Safari bug
            
    targ targ.parentNode;


    e la stessa cosa puo essere detto di questo

    Codice PHP:
    document.documentElement.scrollLeft document.documentElement.scrollLeft document.body.scrollLeft 

    document.captureEvents

    Continue to use this method if you must support Navigator 4, but migrate new code to the W3C DOM event listener syntax.
    http://javascript.gakaa.com/document...ts-4-0-5-.aspx
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    ok. 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.