Как предотвратить свертывание div, когда мы нажимаем флажок внутри этого div?

#jquery

#jquery

Вопрос:

У меня есть флажок, присутствующий внутри div. Когда пользователь нажимает на div (кроме флажка), отображается и скрывается другой div. Это достигается с помощью jQuery. Но моя проблема в том, что когда я нажимаю на флажок, div также показывает эффект скольжения (чего я не хочу). Как предотвратить скольжение div, когда я нажимаю на флажок.

Ответ №1:

Используйте .stopPropagation() метод для флажка. Если у вашего флажка есть идентификатор thecheckbox , используйте

 $("#thecheckbox").click(function(event){
  event.stopPropagation();
});
  

Ответ №2:

После целого дня борьбы, наконец, я получил решение. Я просто добавляю аргумент к событию в jQuery. Затем проверьте, имеет ли источник события тип «CheckBox», тогда не сворачивайте div, иначе сверните div. Мой код выглядит следующим образом:

     $(document).ready(function()
    {
       //The event handler for the click event of the div.
        $('.divClientList').click(function(e)
        {
            //Check if the event source is other then checkbox,
            //then collapse the div, else do nothing.
            if (e.target.type != "checkbox")
            {
                //If the target div content is empty then do nothing.                    
                if ($('.divContent').is(':empty'))
                {
                }
                else
                {
                    $('.divContent').slideToggle('slow');
                }
            }

        });
    });