2015-06-26 3 views
1
<div class="tools">TOOLS 
    <ul> 
     <li class="toolone">First 
      <div class="plugin"> 
       <select>Option 
         <optios></options 
       </select> 
      </div> 
     </li> 
    <ul> 
</div> 

Jquery:Jquery Меню Скрыть показать

$(document).ready(function() { 
     $('.toolone').click(function() { 
      $(this).find('.plugin').toggle(200); 
     }); 
    }); 

Скрыть шоу работает отлично, но когда я нажимаю на Inner Выберите вариант в литий даже закрывается. Я пробовал event.stopPropagation();

Любая помощь?

ответ

1

попробовать это: -

$(document).ready(function() { 
    $('.toolone').click(function() { 
     $(this).find('.plugin').toggle(200); 
    }); 
$('.toolone select').click(function(e){ 
    e.stopPropagation(); 
    }) 

}); 

Demo

+0

благодарственное вы за помощь, работали! – Vinayak

+0

@ Винайак рад, что это помогает :) –

+2

@ Винайак - Если вы довольны ответом Learner, пожалуйста, отметьте его как принимающий. В противном случае кто-то продолжит публиковать тот же ответ –

0

Во-первых, была ошибка в вашем HTML. Обновленный ваш HTML:

<!DOCTYPE html> 
<html> 

    <head> 
    <meta charset="utf-8" /> 
    <title></title> 
    <link rel="stylesheet" href="style.css" /> 
    <script data-require="jquery" data-semver="2.1.4" src="http://code.jquery.com/jquery-2.1.4.min.js"></script> 
    <script src="script.js"></script> 
    </head> 

    <body> 
    <div class="tools">TOOLS 
    <ul> 
     <li class="toolone">First 
      <div class="plugin"> 
       <select> 
         <option>abc</option> 
       </select> 
      </div> 
     </li> 
    </ul> 
</div> 
    </body> 

</html> 

Во-вторых, вы должны явно обрабатывать щелчки выбора, чтобы остановить распространение события:

$(document).ready(function() { 
     $('.toolone').click(function() { 
      $(this).find('.plugin').toggle(200); 
     }); 
     $('.toolone select').click(function (e) { 
      e.stopPropagation(); 
     }); 
    }); 

См plunkr

0

Попробуйте это:

$(document).ready(function() { 
    $('.toolone').click(function (e) { 
     if(e.target !== this) { 
      return; 
     } 
     $(this).find('.plugin').toggle(200); 

    }); 
    }); 
Смежные вопросы