我使用jquery slidetoggle来显示DIV
但是我需要设置如果鼠标点击不在div.list
中,请关闭此slideToggle
$( "#list_button" ).click(function() {
$( ".list" ).slideToggle( "fast" );
});
我只发现了mouseout ....我无法找到如何点击任何“点击页面上的任何地方”来关闭此切换
答案 0 :(得分:0)
$( "body" ).click(function( event ) {
if(
event.target.className!='list' && event.target.parentNode.parentNode.className!="list"
) {
$( ".list" ).slideToggle('fast');
}
});
演示:http://jsfiddle.net/sdgwbyv8/9/一种可能的解决方案,我想有更好的解决方案......
答案 1 :(得分:0)
您可以event.stopPropagation()
:
$("#list_button").click(function (event) {
if ($(".list").is(":hidden")) {
event.stopPropagation();
$(".list").slideToggle("fast");
}
});
$('body').click(function () {
$(".list").hide();
});
$(".list").click(function (event) {
event.stopPropagation();
});
<强> Working Fiddle 强>