2010-12-01 2 views
2

Supposons que j'ai 2 code comme ci-dessous, 1 utilise alert() 1 ne pas. J'ai trouvé que dans le chrome, le 1 en utilisant alert() va insérer un caractère de tabulation \t dans la zone de texte.jQuery Hotkeys "Tab" sur Chrome va toujours insérer le caractère t, même après le retour false

$(function() { 
    $("textarea").bind("keydown", "tab", function() { 
    alert("something"); 
    return false; 
    }); 
    $("textarea").bind("keydown", "shift+tab", function() { 
    this.value = "don't alert()"; 
    return false; 
    }); 
}); 

http://jsfiddle.net/Tu6vF/4/

Pourquoi est-ce qui se passe? et comment puis-je empêcher ce comportement (l'ajout du caractère de tabulation après return false)

Répondre

1

Vous pouvez essayer d'utiliser ce code avant « return false »

if(jQuery.browser.msie) { 
    event.cancelBubble = true; 
} else { 
    event.stopPropagation(); 
} 

Vous devez ajouter l'événement de paramètre dans chaque fixation :

function(event) { ... } 
Questions connexes