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

    [js] evento Shift + Click

    Ciao a tutti.

    Ho bisogno di catturare l'evento
    tasto Shift + click

    in Explorer non ho alcun problema



    codice:
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function ClickHandler(e){
    if (!e) {e=window.event;}
    	if (e.shiftKey) {window.alert("OK")}
    }
    //-->
    </SCRIPT>
    
    .....
    
    <FORM METHOD=POST NAME="myform">
    <INPUT TYPE="checkbox" NAME="test" onClick=ClickHandler()>
    </FORM>
    Naturalmente i problemi nascono in Mozilla/Safari

    In Mozilla/Safari riesco a catturare i singoli eventi Tasto Shift e Click ma non entrambi insieme


    Per catturare l'evento shift uso questo codice:

    codice:
    window.onload = function() { 
    	document.onkeydown = register;	
    	document.onkeyup = register; 
    }
    
    var isShift = false
    
    function register(e)
    {
       if (!e) e = window.event;
       var isShift = e['shiftKey']
    }
    Avevo pensato di modificare la funzione ClickHandler così
    codice:
    function ClickHandler(e){
    if (!e) {e=window.event;}
    	if (isShift) {window.alert("OK"); isShift=false;}
    	window.alert("OK2")
    }
    ma continua a non funzionare.

    Avete un'idea su come risolvere questo problema?
    Grazie
    Come on, let's WAMP!!!
    Windows XP Pro SP2 - Apache 2.0.55
    MySQL 5.0.19 - Php 4.4.2

    There are only 10 types of people in the world: Those who understand binary, and those who don't

  2. #2
    Proprio nessuna idea?
    Come on, let's WAMP!!!
    Windows XP Pro SP2 - Apache 2.0.55
    MySQL 5.0.19 - Php 4.4.2

    There are only 10 types of people in the world: Those who understand binary, and those who don't

  3. #3
    Ok, ho risolto. nella funzione register re-inizializzavo la variabile isShift che veniva presa come locale e non globale

    Quindi, se può servire a qualcuno eccola qui:

    codice:
    <HTML>
    <HEAD>
    <TITLE> Prova </TITLE>
    
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    
    var isShift = false
    var isCtrl = false
    var isAlt = false
    
    window.onload = function() { 
    	document.onkeydown = register;	
    }
    
    function register(e)
    {
    	if (!e) e = window.event;
    
    isShift = e['shiftKey']
    isCtrl = e['ctrlKey']
    isAlt = e['altKey']
    
    document.getElementById('doc').innerHTML=String("Register: " + isShift)
    }
    
    
    function ClickHandler(){
    	window.alert("Click: " + isShift)
    	document.getElementById('doc').innerHTML=String("Click: " + isShift)
    	if (isShift) {
    		window.alert("OK"); 
    		isShift=false;
    		document.getElementById('doc').innerHTML=String("isShift: " + isShift);
    		
    	}
    }
    //-->
    </SCRIPT>
    </HEAD>
    
    <BODY>
    <FORM METHOD=POST NAME="myform">
    <INPUT TYPE="checkbox" NAME="test" onClick=ClickHandler()>
    <div id="doc"></div>
    </FORM>
    </BODY>
    </HTML>
    Come on, let's WAMP!!!
    Windows XP Pro SP2 - Apache 2.0.55
    MySQL 5.0.19 - Php 4.4.2

    There are only 10 types of people in the world: Those who understand binary, and those who don't

  4. #4
    ma non funziona con Safari.....
    Come on, let's WAMP!!!
    Windows XP Pro SP2 - Apache 2.0.55
    MySQL 5.0.19 - Php 4.4.2

    There are only 10 types of people in the world: Those who understand binary, and those who don't

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.