2010-08-17 2 views
1

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

ответ

0

После борьбы за день, наконец, я получил решение. Я просто добавляю аргумент в событие в 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'); 
       } 
      } 

     }); 
    }); 
3

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

$("#thecheckbox").click(function(event){ 
    event.stopPropagation(); 
}); 
Смежные вопросы