以下のこのコードでは、パネル内のコンテンツ (パネル内の p タグに含まれるコンテンツ) をクリックしたときに、パネルまたは他の場所をクリックするまでパネルをスライドさせないでください。ただし、パネル内の子要素 p は使用しません。html を参照してください。 in fiddle for help and click try は、それ以外のクリックイベントが使用されている場合、パネルを閉じるべきではありません。このスクリプトは、以前に praveen 氏に助けられました。
コードは
$(document).ready(function () {
$("#toggle li > .panel").hide();
$('.plusminus').html('+');
$('#toggle li').click(function () {
if( !$(this).children('.panel').is(":visible") ) {
$("#toggle li > .panel").slideUp();
$('.plusminus').html('+');
}
a = $(this).children(".plusminus");
$(this).children(".panel").slideToggle('fast', function(){
a.html($(this).is(":visible") ? '--' : '+');
});
});
$("body").click(function(event){
if ($(event.target).closest("ul").attr('id') != "toggle") {
$("#toggle li > .panel").slideUp();
$('.plusminus').html('+');
}
});
});
遊ぶフィドルは