Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   вернуть действие по дефолту (https://javascript.ru/forum/events/71806-vernut-dejjstvie-po-defoltu.html)

atanov 14.12.2017 12:07

вернуть действие по дефолту
 
Доброго времени всем,

отменить действие по дефолту вроде просто, а как вернуть действие браузера по дефолту?

Nexus 14.12.2017 12:11

Обычно не подходит, но можно "пересоздать" элемент на странице, обработчики скинуться.
Нужно ставить условие перед отменой действия по умолчанию.

atanov 14.12.2017 12:26

Цитата:

Сообщение от Nexus
Nexus

Даааа. Я не отменял действие, а повесил один обработчик на весь документ, который обрабатывает все клики по документу. А хотелки, чтобы при клике на кнопку событие 'submit' происходило.

P.S. наверное правильнее перевесить обработчик...

Nexus 14.12.2017 12:41

Событие происходит на элементе и всплывает до "document", при этом отмена действия по умолчанию у родителя не должна отменять действия по умолчанию у потомков.
Смысл preventDefault при обработке клика по document?

atanov 14.12.2017 12:50

Не-не, ещё разок. Я не отменял действия, я повесил один обработчик на весь документ. Документ состоит из дива, в котором таблица. Обработчик, при клике на строку, создаёт див, состоящий из нескольких элементов; в эти элементы заносятся содержимое из ячеек строки. Далее при клике на элемент создаётся форма для редактирования.
так вот, в конце документа, после дива с таблицей, понадобилась форма с кнопкой, с обработчиком на стороне сервера. С одним обработчиком на всём документе, понятно, что клик вызывает функцию обработчика на клиенте, а вот сделать обычный submit, что-то без костылей никак не пойму как.

Dilettante_Pro 14.12.2017 13:18

<input type = "number">
<a href = "https://ya.ru/">Яндекс</a>
<form>
<input type = "text">
<input type = "submit">
</form>
<script>
document.onclick = function(e) {
       if(e.target.type != 'submit') {
             e.preventDefault();
             alert( e.target.type);  
       }   
}
</script>

ksa 14.12.2017 13:18

Цитата:

Сообщение от atanov
никак не пойму как

Ты хоть бы тестовый пример челе сделал... А то только писанина и эмоции...

atanov 14.12.2017 14:22

Всем большущее спасибо, каюсь, сдуру или по недоразумению неправильный тип для кнопки указал в php файле, из-за этого не работал submit. Исправил, и теперь не нужно изобретать велосипед, submit весело пересылается на php обработчик :)


Часовой пояс GMT +3, время: 02:50.