Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Как повесить click чтобы он работал через jQ (https://javascript.ru/forum/project/84451-kak-povesit-click-chtoby-rabotal-cherez-jq.html)

AlexeyPonomarev42 13.09.2022 20:38

Как повесить click чтобы он работал через jQ
 
Столкнулся с проблемой, у меня есть скрипт
$(function(){
   const modal = $('#modal');
   const modalBtn = $('#btn_own');
   const modalBtnClose = $('#modal_btn_close');

   modalBtn.click (function() {    
      modal.removeClass("hidden");
   });
   modalBtnClose.click (function() {    
      modal.addClass("hidden");
   });
});

в CSS
.hidden {
display: none;
}
Нажимаю на кнопку btn, а нужный мне блок открывается только на 1милисекунду и тут же закрывается. Не понимаю, он ведь должен открываться навсегда. Что я делаю не так?

рони 13.09.2022 21:43

AlexeyPonomarev42,
html покажите.
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 13.09.2022 21:48

AlexeyPonomarev42,
что не так?
<!DOCTYPE html>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .hidden {
            display: none;
        }
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
        $(function() {
            const modal = $('#modal');
            const modalBtn = $('#btn_own');
            const modalBtnClose = $('#modal_btn_close');

            modalBtn.click(function() {
                modal.removeClass("hidden");
            });
            modalBtnClose.click(function() {
                modal.addClass("hidden");
            });
        });
    </script>
</head>

<body>
    <button id="btn_own">open</button>
    <div id="modal" class="hidden">modal<button id="modal_btn_close">close</button></div>
</body>

</html>

ksa 14.09.2022 08:52

Цитата:

Сообщение от рони
html покажите.

Он принципиально не хочет показывать хтмл... :)
Даже сюда пришел с этим вопросом и на другом сайте так и не показал хтмл.

рони 14.09.2022 08:54

ksa,
:)

Aetae 14.09.2022 13:10

Ну мб #btn_own лежит внутри #modal_btn_close?)

AlexeyPonomarev42, попробуй так:
// ...
   modalBtn.click (function(event) { 
      event.stopPropagation();   
      modal.removeClass("hidden");
   });


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