Страница обновляется во время вызова JQuery - PullRequest
1 голос
/ 05 марта 2011

По какой-то причине, когда этот вызов JQuery сделан, страница обновляется.Я был убежден, что return false; в конце функции JQuery приведет к тому, что страница не будет перезагружаться, но, видимо, это не так?Вот мой урезанный код:

$(function() {
    $(".vote").click(function() {
        return false;
    });
});

Когда я нажимаю кнопку голосования, страница обновляется.Я знаю, что этот код вызывается, потому что если я заменю return false на alert('asdf');, появится предупреждение.

Ответы [ 3 ]

0 голосов
/ 05 марта 2011

Попробуйте это:

$(function() {
  $(".vote").click(function(e) {
    e.preventDefault();
  });
});
0 голосов
/ 05 марта 2011

Вы не можете поместить div в a: div является элементом уровня блока, a является встроенным, а HTML не допускает элементов блока внутри встроенных элементов.Браузеры попытаются автоматически исправить это, каким-то образом переставив дерево DOM (например, <a><div></div></a> может закончиться как <a></a><div><a></a></div><a></a>);что приводит к всякому смешному поведению.В Firefox вы можете использовать «просмотр источника выбора» (или, конечно, Firebug), чтобы проверить, что произошло.

0 голосов
/ 05 марта 2011

Часто, когда вы хотите запретить переход по ссылке или отправку формы, вы хотите сообщить событию о предотвращенииDefault ():

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