После того, как я запустил evt.preventDefault()
, как я могу возобновить действия по умолчанию снова?
185
После того, как я запустил evt.preventDefault()
, как я могу возобновить действия по умолчанию снова?
Ответы:
Согласно комментарию @Prescott, противоположность:
Может быть:
По сути, приравнивается к «сделать по умолчанию» , так как мы больше не препятствуем этому.
В противном случае я склонен указать вам ответы, предоставленные другими комментариями и ответами:
Как отменить привязку слушателя, который вызывает event.preventDefault () (используя jQuery)?
Как включить event.preventDefault?
Обратите внимание, что второй вариант был принят с примером решения, заданного redsquare (здесь размещено прямое решение, если оно не закрыто как дубликат):
источник
и его противоположность
ура!
источник
return true
: nothing.Чтобы обработать команду перед продолжением ссылки из
click
события в jQuery:Например:
<a href="http://google.com/" class="myevent">Click me</a>
Предотвратите и выполните с помощью jQuery:
Или просто беги
window.location = this.href;
заpreventDefault();
источник
Мне пришлось отложить отправку формы в jQuery, чтобы выполнить асинхронный вызов. Вот упрощенный код ...
источник
ХОРОШО ! это работает для события click:
источник
и его противоположность (стандартная):
источник: https://developer.mozilla.org/en-US/docs/Web/API/Event/returnValue
источник
Я хотел бы предложить следующий шаблон:
... если я что-то упустил.
http://jsfiddle.net/DdvcX/
источник
Нет противоположного способа
event.preventDefault()
понять, почему вы сначала должны посмотреть, чтоevent.preventDefault()
делает, когда вы это называете.Под капотом, функция для protectDefault по сути вызывает возврат false, который останавливает любое дальнейшее выполнение. Если вы знакомы со старыми способами Javascript, было когда-то в моде использовать return false для отмены событий в таких вещах, как отправка формы и кнопки, используя return true (до того, как jQuery появился даже вокруг).
Как вы, возможно, уже разработали, основываясь на простом объяснении выше: противоположность
event.preventDefault()
ничто. Вы просто не предотвращаете событие, по умолчанию браузер разрешит событие, если вы не запрещаете его.Смотрите объяснение ниже:
В приведенном выше коде вы заметите, что мы проверяем, имеет ли значение allowSubmit значение false. Это означает, что мы
event.preventDefault
запретим отправку нашей формы с использованием, а затем сделаем некоторую логику проверки, и, если мы довольны, установите для allowSubmit значение true.Это действительно единственный эффективный метод сделать противоположное
event.preventDefault()
- вы также можете попробовать удалить события, которые по сути достигли бы того же самого.источник
Вот что-то полезное ...
Прежде всего, мы перейдем по ссылке, запустим некоторый код, а затем выполним действие по умолчанию. Это будет возможно с помощью event.currentTarget. Посмотрите. Здесь мы попытаемся получить доступ к Google на новой вкладке, но прежде чем нам нужно будет запустить код.
источник
Вот что я использовал для его установки:
И отменить это:
источник
Ни одно из решений не помогло мне здесь, и я сделал это, чтобы решить мою ситуацию.
И функция
clickEvent()
,источник
Я полагаю, что «противоположность» будет моделировать событие. Вы могли бы использовать
.createEvent()
Следуя примеру Mozilla:
Ссылка: document.createEvent
jQuery имеет
.trigger()
так что вы можете запускать события на элементах - иногда полезно.источник
jquery on () может быть другим решением этой проблемы. особенно когда речь идет об использовании пространств имен .
jquery on () - это просто текущий способ привязки событий (вместо bind ()). off () это отменить привязку. и когда вы используете пространство имен, вы можете добавлять и удалять несколько различных событий.
теперь, используя пространство имен, вы можете добавить несколько таких событий и удалить их в зависимости от ваших потребностей ... хотя отправка может быть не лучшим примером, это может пригодиться при нажатии, нажатии клавиши или любом другом ...
источник
Это не прямой ответ на вопрос, но может кому-то помочь. Моя точка зрения заключается в том, что вы можете вызывать warnDefault () только на основании некоторых условий, поскольку не имеет смысла иметь событие, если вы вызываете warnDefault () для всех случаев. Таким образом, наличие условий if и вызов метода protectDefault () только тогда, когда выполняется условие / условия, будут работать в обычном режиме для других случаев.
});
источник
Вы можете использовать это после метода "protectDefault"
// Здесь evt.target возвращает событие по умолчанию (например, defult url и т. Д.)
// Здесь мы сохраняем событие по умолчанию ..
источник
Вы всегда можете использовать это, прикрепленное к некоторому событию click в вашем скрипте:
Пример использования:
источник
этот код работал для меня, чтобы восстановить экземпляр события после того, как я использовал:
источник
Я использовал следующий код. Он отлично работает для меня.
источник
event.preventDefault()
;