Поскольку действие не выполняется, нам может потребоваться узнать, когда пользователь вызвал действие, и мы можем использовать event.isDefaultPrevented()
Это может быть использовано для запуска вызова функции. Также может быть полезно для динамических URL-адресов с XHtmlRequest в jQuery для выборки страницы с модулем, например, href = ”index.php? Page = contact вместо contact.php. Возможно, вы также захотите взглянуть на опции MOD Rewrite, которые также могут обеспечить эту функциональность и полезность SEO. Функции jQuery Stop Event . Будьте осторожны, если вы используете $ (document) .bind («нажатие клавиши», функция (событие), тогда e.preventDefault () не будет работать, попробуйте .. event.preventDefault (). Иногда у вас есть гиперссылка, которая должна быть гиперссылкой, но вы не хотите, чтобы она обрабатывала и открывала ссылку, а только вызывала, скажем, функцию javascript. К счастью, в jQuery есть функция для остановки действия гиперссылки.
Демонстрация функции jQuery Preventdefault
Пример 1 — Предотвращение и отлов гиперссылки
< !DOCTYPE html>
default click action is prevented
$("a").click(function(event) {
event.preventDefault();
$('<div></div>')
.append('default ' + event.type + ' prevented')
.appendTo('#log');
});
действие щелчка по умолчанию запрещено
Пример 2 — кнопка «Запретить отправку формы»
$('#myform').submit(function(event) {
event.preventDefault();
var self = this;
window.setTimeout(function() {
self.submit();
}, 2000);
});
Пример 3 — Задержка цели гиперссылки до эффекта анимации
$("#ELEMENT_WHICH_AFFECT_THE_SLIDEUP")
.click(function(event){
event.preventDefault(); // prevents link to be redirected
var time = 1000; // time for slideup effect
var url = $(this).attr("href"); // pick url for redirecting via javascript
$("#ELEMENT_TO_SLIDE_UP").slideUp(time); // effect
window.setTimeout(function(){document.location.href=url;}, time); // timeout and waiting until effect is complete
return -1;
});
Пример 4 — Отключить кнопку прокрутки
$(document).keydown(function(event){
// Move Down
if(event.keyCode == '40'){
event.preventDefault();
var posY = $('#'+selectedTxtID).css('top');
posY = parseFloat(posY);
var newPosY = posY + 1;
$('#'+selectedTxtID).css('top', newPosY+'px');
}
})
Эту функцию также можно использовать не только для гиперссылок, но и для всего, что имеет действие по умолчанию, которое вы хотите предотвратить.