Событие click не срабатывает при соединении с css: active - PullRequest
1 голос
/ 23 июня 2010

Я создал меню навигации, в котором при нажатии на ссылку открывается диалоговое окно jquery.

На этих же ссылках в моем css у меня есть:
.navigationLinkButton:active { background:rgb(200,200,200); }
Диалоговое окно прикрепляется просто:
$("#link").click(function() {$(this).dialog("open")});

Иногда (примерно каждые 4-5 кликов), когда пользователь щелкает ссылку, диалоговое окно не открывается, и изменяется только цвет фона ссылки.При повторном нажатии на ссылку откроется диалоговое окно.Есть идеи, почему это происходит?

Ответы [ 2 ]

1 голос
/ 23 июня 2010
$("#link").click(function() {$(this).dialog("open")}

должно быть

$("#link").click(function(){$(this).dialog("open")});

Также убедитесь, что у вас есть только одна ссылка # на странице. Если нет, попробуйте вместо этого использовать класс (".link")

0 голосов
/ 23 июня 2010

Убедитесь, что вы не использовали #link ID более одного раза на странице.

Если ваши ссылки являются <a> элементами (я предполагаю, что они должны быть, поскольку вы используете: active)попробуйте return false; в конце вашего обработчика click().

Это отключит поведение ссылки по умолчанию, которая может обновлять страницу.

$("#link").click( function() {
    $(this).dialog("open");
    return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...