JQuery возвращает ложное странное поведение - PullRequest
0 голосов
/ 30 июня 2009

У меня есть фрагмент кода jQuery, который переключает абзац описания для данного тд, когда пользователи нажимают на тег привязки, см. Код ниже. Моя проблема в том, что если я поставлю возвращаемое ложное утверждение, как показано, код работает нормально в IE, но в FF он не будет отображать описание вообще, что ожидается. Когда я ставлю return false после переключения, он отлично работает в FF, но в IE он показывает описание и сразу скрывает его. Есть ли способ заставить его работать должным образом в обоих?

Заранее спасибо.

$(".name").click(function(){
    return false;
    $(this).parent()
           .parent()
           .find(".description")
           .animate({ opacity: "toggle", "slow");

});

Ответы [ 3 ]

1 голос
/ 30 июня 2009

Не зная, как выглядит ваша разметка, трудно сказать, но я подозреваю, что обработчик может быть применен к более чем одному уровню элемента. Возможно, в IE второй обработчик переключает видимость. Вы можете попытаться остановить распространение события и / или убедиться, что ваш селектор применяется только к элементам привязки.

$("a.name").click(function(e){
    e.stopPropagation();
    $(this).parent()
           .parent()
           .find(".description")
           .animate({ opacity: "toggle", "slow");
    return false;
});
0 голосов
/ 30 июня 2009

Вместо того, чтобы пытаться вернуть false из вашего события click, почему бы просто не заменить атрибут HREF чем-то другим?

$(".name").attr("href", "javascript:;")
    .click(function()  {
        //..etc...
    });
0 голосов
/ 30 июня 2009

Попробуйте:

return !($.browser.msie);

Извините ... Я перепутал, что должно быть правдой, а что - ложью.

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