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

    javascript: event not defined in mozilla/firefox

    salve a tutti,

    ho questa pagina. all'evento onclick dei link eseguo la funzione prova:
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<style type="text/css">
    			a#p{
    				font-family:Verdana, Arial, Helvetica, sans-serif;
    				font-weight:bold;
    				font-size:15px;
    				color:#666666;
    				text-decoration:none;
    				filter:alpha(opacity=30);
    				-moz-opacity: 0.3;
    			}
    			a#p:hover{
    				font-family:Verdana, Arial, Helvetica, sans-serif;
    				font-weight:bold;
    				font-size:17px;
    				color:#F95147;
    				text-decoration:none;
    				filter:alpha(opacity=75);
    				-moz-opacity: 0.75;
    			}
    			#current{
    				font-family:Verdana, Arial, Helvetica, sans-serif;
    				font-weight:bold;
    				font-size:15px;
    				color:#0099FF;
    				text-decoration:none;
    			}
    		</style>
    		<script type="text/javascript">
    			function prova(){
    				var current = document.getElementById("current");
    				var appName = navigator.appName;
    				if (appName== "Netscape") {
    					event.target.id = "current";
    				} else {
    					event.srcElement.id = "current";
    				}
    				if (current != null) {current.id = "p";}
    			}
    		</script>
    		<title>Documento senza titolo</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	</head>
    	<body>
    	    <div>
    		    1
    		    2
    		    3
    		</div>
    	</body>
    </html>
    ma quando faccio click sul link firefox si incazza e mi dice: "event is not defined"
    dove sbaglio?

    grazie
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  2. #2
    L'oggetto evento, nei browser del W3C, deve essere passato come argomento della funzione associata all'evento.

    Perciò passi un variabile di nome 'evt' ( o anche 'e' ) alla funzione prova ogni qual volta la richiami:
    codice:
    <elemento onclick="prova(evt);">
    La funzione prova dovrà ricavare l'oggetto evento in tutti i browser e da questo ricavare il target.
    Il modo più efficiente per farlo è così:

    codice:
    function prova(evt){
                            var evt=evt||window.event,
                                 targetObj=evt.target||evt.srcElement,
    		              current = document.getElementById("current");
                                    targetObj.id="current";
    				if (current != null) {current.id = "p";}
    			}

  3. #3
    ho fatto come mi hai detto tu, ma non funge...

    questo è quello che ho fatto:

    codice:
    	function prova(evt){
                var evt=evt||window.event,
    targetObj=evt.target||evt.srcElement,
    		              current = document.getElementById("current");
                                    targetObj.id="current";
    				if (current != null) {current.id = "p";}
    			}
    		    1
    		    2
    		    3
    internet explorer mi dice che evt non è definito...
    mozilla mi dice che evt has no properties
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  4. #4
    nessuno che mi sappia aiutare?
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

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.