Size: a a a

Django [ru] #STAY HOME

2020 July 07

A

Aquinary in Django [ru] #STAY HOME
<a href="#" onclick="dialog('Вопрос', function_to_call)">Изменить</a>
function_to_call - это функция, которая выполняет основное действие (отправляет POST на сервер со всеми данными), и она срабатывает после подтверждения через клик по #yes (через func.apply). Ну, это работает, только вот дублируется почему-то на этапе самой dialog() функции и начинает многократно вызываться.
А что рекомендуешь и как использовать, если не onclick? В самом .js через jquery мониторить id?
источник

A

Aquinary in Django [ru] #STAY HOME
Artem Gubatenko
я конечно не спец по JS, но onclick, по-моему, уже очень давно не используют.
и хотя бы html модалки приложил бы
^
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Aquinary
<a href="#" onclick="dialog('Вопрос', function_to_call)">Изменить</a>
function_to_call - это функция, которая выполняет основное действие (отправляет POST на сервер со всеми данными), и она срабатывает после подтверждения через клик по #yes (через func.apply). Ну, это работает, только вот дублируется почему-то на этапе самой dialog() функции и начинает многократно вызываться.
А что рекомендуешь и как использовать, если не onclick? В самом .js через jquery мониторить id?
обычно я юзаю это:
https://developer.mozilla.org/ru/docs/Web/API/EventTarget/addEventListener
Примерно так:
document.getElementById('my-link').addListener("click", (e) => { <my logic>; function_to_call()ж});

очень похоже на jquery)
А в остальном надо смотреть реальный код. Так не скажу что там может быть
источник

A

Aquinary in Django [ru] #STAY HOME
Сейчас попробуем)
источник

AD

Alex Dem in Django [ru] #STAY HOME
Artem Gubatenko
я конечно не спец по JS, но onclick, по-моему, уже очень давно не используют.
и хотя бы html модалки приложил бы
мне кажется, ты заблуждаешься :)
onclick есть в angular, angular js, vue js и 99,9% есть в реакте (просто лень гуглить)

и ивент-лисенеры всегда будут более ресурсоемкие чем простой onclick (это интуитивные догадки, правда, доказать сходу не смогу :D )
источник

AD

Alex Dem in Django [ru] #STAY HOME
Aquinary
Сейчас попробуем)
когда-то встречался с даблкликами, решал тем, что делал кнопке disabled проперти (после клика)
источник

A

Aquinary in Django [ru] #STAY HOME
Artem Gubatenko
обычно я юзаю это:
https://developer.mozilla.org/ru/docs/Web/API/EventTarget/addEventListener
Примерно так:
document.getElementById('my-link').addListener("click", (e) => { <my logic>; function_to_call()ж});

очень похоже на jquery)
А в остальном надо смотреть реальный код. Так не скажу что там может быть
Как-то не помогло :(
Первый клик отрабатывает как положено, второй идёт в дабл, третий в трипл и т.д.
Но заметил такую особенность, что если не прятать окно выбора (fadeOut который), то всё работает как надо оО
источник

A

Aquinary in Django [ru] #STAY HOME
Alex Dem
когда-то встречался с даблкликами, решал тем, что делал кнопке disabled проперти (после клика)
Тоже так делал. Только вот потом, когда нажимаешь на кнопку снова, клик по "Да" вообще перестаёт работать. Хотя попробую его как-то совместить с новым вариантом от Артёма, может прокатит
источник

AD

Alex Dem in Django [ru] #STAY HOME
Aquinary
Тоже так делал. Только вот потом, когда нажимаешь на кнопку снова, клик по "Да" вообще перестаёт работать. Хотя попробую его как-то совместить с новым вариантом от Артёма, может прокатит
слушай, я не глянул код сразу :D

$(document).on('click', '#no', function (e)

тоже не пипец какой спец в JS, но почему ты привязываешь к документу?
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Alex Dem
мне кажется, ты заблуждаешься :)
onclick есть в angular, angular js, vue js и 99,9% есть в реакте (просто лень гуглить)

и ивент-лисенеры всегда будут более ресурсоемкие чем простой onclick (это интуитивные догадки, правда, доказать сходу не смогу :D )
возможно, но мне кажется, в html и в фреймворках - немного разные вещи.
может это просто вкусовщина, но onclick и ему подобные - отдают древностью)
источник

AD

Alex Dem in Django [ru] #STAY HOME
Aquinary
Тоже так делал. Только вот потом, когда нажимаешь на кнопку снова, клик по "Да" вообще перестаёт работать. Хотя попробую его как-то совместить с новым вариантом от Артёма, может прокатит
я думаю у тебя в этом и проблема - у тебя отрабатывает столько кликов за раз сколько вложенных элементов в дереве DOM ( это снова догадки)

но что точно могу сказать, обычно onclick привязывают к кнопкам, не документу
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Aquinary
Как-то не помогло :(
Первый клик отрабатывает как положено, второй идёт в дабл, третий в трипл и т.д.
Но заметил такую особенность, что если не прятать окно выбора (fadeOut который), то всё работает как надо оО
без всего html+ код  ничем помочь не могу
источник

A

Aquinary in Django [ru] #STAY HOME
Alex Dem
слушай, я не глянул код сразу :D

$(document).on('click', '#no', function (e)

тоже не пипец какой спец в JS, но почему ты привязываешь к документу?
Да эти свистопляски вроде $('.theme').on('click', '.title', function(), например просто клик по .title без указания .theme не функционирует. Это с другого места и я не стал особо париться - нужно ему, ну сделаю вот. А вот с даблзапросами мириться сложно
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Alex Dem
я думаю у тебя в этом и проблема - у тебя отрабатывает столько кликов за раз сколько вложенных элементов в дереве DOM ( это снова догадки)

но что точно могу сказать, обычно onclick привязывают к кнопкам, не документу
так он на елементы по ИД и вешает, а ищет куда привязать, просто, по всему документу
источник

AD

Alex Dem in Django [ru] #STAY HOME
Artem Gubatenko
так он на елементы по ИД и вешает, а ищет куда привязать, просто, по всему документу
может у тебя несколько элементов с таким id, @aquinary

а почему ты не привяжешь напрямую к кнопке?
источник

AD

Alex Dem in Django [ru] #STAY HOME
<button onclick="my_func()">
источник

AD

Alex Dem in Django [ru] #STAY HOME
или как там на нэйтиве было, уже мог подзабыть
источник

A

Aquinary in Django [ru] #STAY HOME
Artem Gubatenko
без всего html+ код  ничем помочь не могу
источник

AD

Alex Dem in Django [ru] #STAY HOME
<a> - это вообще тег гиперссылки
хотя работать должно :)
источник

G

Gas in Django [ru] #STAY HOME
все хотел спросить. зачем морочаться с докером локально? неужели venv не хватает?
источник