Горячие клавиши jQuery «Tab» в Chrome по-прежнему будут вставлять символ \ t, даже после возврата false - PullRequest
2 голосов
/ 01 декабря 2010

Предположим, у меня есть 2 кода, как показано ниже, 1 использует alert() 1 нет. Я обнаружил, что в chrome 1, использующий alert(), вставит символ табуляции \t в текстовое поле.

$(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/

Почему это происходит? и как я могу предотвратить это поведение (добавление символа табуляции после возврата false)

1 Ответ

1 голос
/ 12 января 2011

Вы можете попытаться использовать этот код, прежде чем "вернуть ложь"

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

Вам необходимо добавить параметр параметра в каждую привязку:

function(event) { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...