Что является противоположностью evt.preventDefault (); - PullRequest
151 голосов
/ 13 апреля 2011

Как только я запустил evt.preventDefault(), как я могу возобновить действия по умолчанию?

Ответы [ 17 ]

2 голосов
/ 12 марта 2018

Это то, что я использовал для установки:

$("body").on('touchmove', function(e){ 
    e.preventDefault(); 
});

И чтобы отменить это:

$("body").unbind("touchmove");
1 голос
/ 04 июля 2017

jquery on () может быть другим решением этой проблемы.в частности, когда речь идет об использовании пространств имен .

jquery on () - это просто текущий способ привязки событий (вместо bind ()).off () это отменить привязку.и когда вы используете пространство имен, вы можете добавлять и удалять несколько различных событий.

$( selector ).on("submit.my-namespace", function( event ) {
    //prevent the event
    event.preventDefault();

    //cache the selector
    var $this = $(this);

    if ( my_condition_is_true ) {
        //when 'my_condition_is_true' is met, the binding is removed and the event is triggered again.
        $this.off("submit.my-namespace").trigger("submit");
    }
});

теперь с использованием пространства имен вы можете добавить несколько этих событий и иметь возможность удалять их в зависимости от ваших потребностей.. хотя отправка может быть не лучшим примером, это может пригодиться при нажатии, нажатии клавиши или чем-то еще.

0 голосов
/ 12 января 2019

Ни одно из решений не помогло мне здесь, и я сделал это, чтобы решить мою ситуацию.

<a onclick="return clickEvent(event);" href="/contact-us">

И функция clickEvent(),

function clickEvent(event) {
    event.preventDefault();
    // do your thing here

    // remove the onclick event trigger and continue with the event
    event.target.parentElement.onclick = null;
    event.target.parentElement.click();
}
0 голосов
/ 09 июня 2014

вы можете использовать это после метода "protectDefault"

// Здесь evt.target возвращает событие по умолчанию (например, defult url и т. Д.)

var defaultEvent=evt.target;

// Здесь мы сохраняем событие по умолчанию.

if("true")
{
//activate default event..
location.href(defaultEvent);
}
0 голосов
/ 10 июля 2014

Я использовал следующий код. У меня отлично работает.

$('a').bind('click', function(e) {
  e.stopPropagation();
});
0 голосов
/ 12 декабря 2017

этот код работал для меня, чтобы создать экземпляр события после того, как я использовал:

event.preventDefault(); to disable the event.


event.preventDefault = false;
0 голосов
/ 05 декабря 2017

Вы всегда можете использовать это, прикрепленное к некоторому событию щелчка в вашем скрипте:

location.href = this.href;

пример использования:

jQuery('a').click(function(e) {
    location.href = this.href;
});
...