jQuery preventDefault в функции
Я использовал preventDefault
для такого события элемента:
$('#element').click(function (e) {
do stuff...
});
Теперь 9X_jquery-after у меня есть функция, которая уже принимает 9X_vanilla-javascript аргумент, в котором я хотел бы использовать 9X_jquery-after preventDefault
, но я не уверен, как это сделать:
Services
function sectionScroll(id) {
history.pushState(null, null, '#' + id);
$('html, body').animate({
scrollTop: $("#" + id).offset().top
}, 1000);
}
Я попытался 9X_jquery-post использовать вместо этого return false, но 9X_jquery это вызвало некоторое мерцание при нажатии 9X_toggleclass на ссылку.
Как добавить preventDefault
к указанной выше 9X_addclass функции?
ИЗМЕНИТЬ
Мой первоначальный вопрос касался 9X_vanilla-javascript использования preventDefault в функции с 9X_jquery-callback другими аргументами. В конце концов, мне 9X_jquery-post не нужно было использовать встроенный javascript 9X_jquery-post (казалось, что нет никакого способа избежать 9X_javascript-library этого), так что это то, что я использовал. Думаю, довольно 9X_js аккуратно:
Services
$('.menu-link').click(function (e) {
e.preventDefault();
var location = $(this).attr('href');
history.pushState(null, null, location)
$('html, body').animate({
scrollTop: $(location).offset().top
}, 1000);
});
- Есть ли причина, по к ...
Ответ #1
Ответ на вопрос: jQuery preventDefault в функции
Что ж, если вы действительно хотите использовать 9X_jquery-post встроенные обработчики событий (хотя я бы 9X_jquery не рекомендовал это), попробуйте следующее:
Services
Ответ #2
Ответ на вопрос: jQuery preventDefault в функции
Вы можете использовать jQuery, как и в другом 9X_jquery-post примере, для обработки события щелчка:
Services
$('#services_link').click(function (e) {
var id = "services";
history.pushState(null, null, '#' + id);
$('html, body').animate({
scrollTop: $("#" + id).offset().top
}, 1000);
e.preventDefault();
}
Это 9X_ecmascript позволит вам вызвать preventDefault
для события.
Это также 9X_jquery-callback намного лучше, поскольку вы больше не будете 9X_vanillajs использовать встроенный Javascript, и всю 9X_javascript логику событий можно будет обрабатывать 9X_javascript с помощью одного метода (например, jQuery), а 9X_.js не часть ее в jQuery, а часть встроенной.
Я 9X_jquery-callback бы посоветовал прочитать "Why Should I Avoid Inline Scripting?", чтобы 9X_jquery понять, почему вам следует избегать встроенных 9X_removeclass скриптов.
-
5
-
5
-
20
-
9
-
43
-
4
-
10
-
25
-
20
-
11
-
11
-
4
-
31
-
9
-
3
-
14
-
8
-
13
-
7
-
66
-
33
-
21
-
37
-
14
-
37
-
10
-
8
-
3
-
61
-
7
-
13
-
7
-
36
-
3
-
10
-
16
-
11
-
5
-
21
-
14
-
30
-
21
-
10
-
18
-
4
-
8
-
14
-
7
-
11
-
6