Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    36

    cancellare l'evento keydown

    Salve,
    sto scrivendo una ricerca incrementale sulle input text ed ho bisogno di cancellare l'evento keydown (per il tasto enter) sulla input dove si verifica:

    //****************************************//
    var _onkeydown = function(e) {
    if (browser.isIE) {
    key = window.event.keyCode;
    source = window.event.srcElement;
    } else {
    key = e.keyCode;
    source = e.currentTarget;
    }
    switch (key) {
    case 13: // ENTER
    // elaboro il tasto
    if (browser.isIE) {
    window.event.returnValue = false;
    } else {
    e.preventDefault();
    return false;
    }
    break;
    }
    }

    myinput.onkeydown = _onkeydown;

    //*****************************************//

    tutto funziona bene con IE, ma con netscape, firefox etc.... il tasto continua ad essere propagato.
    Qualcuno sa suggerirmi come correggere il mio script?

    Grazie

  2. #2
    oltre a

    window.event.returnValue = false;

    aggiungi anche

    window.event.cancelBubble = true;
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    36
    quello che suggerisci non riguarda IE?
    Come ho detto con IE va tutto bene, e' con netscape che non riesco a cancellare l'evento. Ho provato anche stopPropagation() che dovrebbe essere l'analogo, ma senza successo.

    Dopo la pressione di ENTER, la form in cui si trova lamia input fa il POST.

  4. #4
    Originariamente inviato da saveriop
    quello che suggerisci non riguarda IE?
    Come ho detto con IE va tutto bene, e' con netscape che non riesco a cancellare l'evento. Ho provato anche stopPropagation() che dovrebbe essere l'analogo, ma senza successo.

    Dopo la pressione di ENTER, la form in cui si trova lamia input fa il POST.
    ma con firefox e opera ti funziona?
    a me no..
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    36
    Originariamente inviato da DYNAM!C+
    ma con firefox e opera ti funziona?
    a me no..
    No, funziona solo con IE. Gli altri utilizzano i W3C DOM per gli eventi, e non riesco a farlo funzionare.....

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    36
    Dopo ore di prove.....

    mi rispondo da solo:
    a differenza di IE, Netscape e FireFox generano l'evento onkeypress anche se e' stato cancellato l'evento onkeydown e questo vanifica ogni tentativo di cancellare l'evento onkeydown.

    La soluzione e' gestire anche l'evento onkeypress, che e' sufficiente riturni false.

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.