Рубрики1
Социалки
Новые статьи

Оригинал сообщения

Тебе нужно затормозить, заморозить, отменить или остановить стандартное действие, при клике на объект, при помощи jQuery? (затормозить клик на jQuery)

Нет ничего более простого:

 Ссылка

предположим, что у нас есть форма, которая отправляется на сервер при нажатии на кнопку Отправить и ссылка, которая отправляет пользователя на другую страницу. Теперь посмотрим, что с этим можно сделать на jQuery:

 $(function(){ /*затормозим клик по ссылке*/ $('a#link_to_be_stopped').click(function(e){ /*e - объект типа event*/ e.preventDefault(); /*а дальше любые твои действия, например*/ alert('Me the mighty! I stopped the link!'); }); /*затормозим/остановим отправку формы*/ $('form#form_to_be_stopped').submit(function(e){ e.preventDefault(); /*твои действия*/ }); /*или даже остановим нажатие кнопки Сабмит*/ $('input[type="submit"]').click(function(e){ e.preventDefault(); }); }); 

Вот и все. Для особ посвященных. Если раньше можно было просто написать в обраотчике события клика по ссылке return false;, как здесь:

 $('a').click(function(){ /*твои действия*/ return false; }); 

что означало, что действие как-бы не выполнилось или пустое и броузер продолжал работу, не замечая клика по ссылке, то теперь так сделать не получится, потому, что каждый 2-й компьютер имеет 2-х или даже 4-х ядерный процессор, и если мы вернем false в функции на одном ядре, то не факт, что это действие еще не успело запустится на другом, то есть такой подход будет работать далеко не всегда, а встроенная функция jQuery event.preventDefault() как раз и решает эту проблему.

LIci WP