У меня есть длинный список входов с включенной функцией щелчка. Это приносит мне вернуться к началу страницы каждый раз, когда я нажимаю егоJQuery прыгает на верхнюю страницу на .click
$(document).on('click', 'input', function() {
var name = $(this).attr("name");
if ($('input[name="' + name + '"]:eq(1)')[0].checked) {
$('label[name="' + name + '"]:eq(1)').addClass('nostate');
$('label[name="' + name + '"]').removeClass('selected');
}
else {
$('label[name="' + name + '"]').removeClass('nostate selected');
if ($('input[name="' + name + '"]:eq(0)')[0].checked) {
$('label[name="' + name + '"]:eq(0)').addClass('selected');
}
else {
$('label[name="' + name + '"]:eq(2)').addClass('selected');
}
}
});
Я попытался
function (e) {
e.preventDefault();
}
и
return false;
Но они не работали я полагаю, это потому, что на всей странице работает input
.
Примечание:
Причина Я его слушал весь документ, потому, что у меня есть второй запрос, который присоединяет дополнительные входы и мой клик слушатель будет работать правильно, когда я нажал на прилагаемые входы. Я предполагаю, что это связано с тем, что прослушиватель кликов связан с input
, поскольку страница загружается
Кроме того, на клике нет href=""
.
Является ли изменение URL? Как будто что-то приложилось к нему после знака хэша? http://www.example.com/url#something/wrong-here – motanelu
@motanelu нет определенно нет. Я хочу добавить, что сейчас я отредактирую вопрос. – denski
Опубликуйте [mcve], пожалуйста, чтобы мы могли увидеть проблему – j08691