Вы используете рельсы? Похоже на это.
Причина, по которой event.preventDefault()
не работает, заключается в том, что магия делается в другом месте.
Rails поставляется с некоторыми помощниками, которые создают обработчики событий для всех действий «delete», генерируемых Rails. Поэтому в вашем случае я думаю, что вам нужно выяснить, как переопределить помощники или просто создать собственный обработчик событий для этого конкретного действия удаления.
Это код JQuery, который использует Rails:
https://github.com/rails/jquery-ujs/blob/master/src/rails.js
На основании этого (из ссылки):
linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]'
Ваш обработчик событий будет единственным, выполняемым, если вы удалите data-remote
, data-method
и data-confirm
из ссылки.
Поэтому я предлагаю вам удалить их, а затем просто заново создать любое поведение, которое вы хотите, в своем собственном обработчике кликов.