我正在使用2个脚本,如下所示。
第一个脚本打开了一个div,当点击一个按钮时,该等级为#34; bookaviewing"。
我需要和班级一起使用"预订表格"当有人点击"预订表格"之后关闭div - 第二个脚本执行此操作。
我的问题是,当您多次点击该按钮时(因为它在"预订表格" div之外),它不会关闭"预订-form" ...它只是一直打开。
我需要结合下面的2个脚本&需要帮助。
脚本1
<script type="text/javascript">
// set click/toggle event on bookaviewing button to show form
$('.bookaviewing').click(function () {
$('.booking-form').slideToggle(400).toggleClass('opened');
return false;
});
</script>
脚本2
<script type="text/javascript">
// close booking-form when click outside of div
$(document).mouseup(function (e){
var bookingform = $(".booking-form");
if (!bookingform.is(e.target) && bookingform.has(e.target).length === 0){
bookingform.hide();
}
});
</script>
答案 0 :(得分:3)
您需要排除预订表单和切换按钮,以避免同时打开/关闭切换:
http://jsfiddle.net/TrueBlueAussie/4vnvpcjb/3/
// set click/toggle event on bookaviewing button to show form
$('.bookaviewing').click(function () {
$('.booking-form').slideToggle(400).toggleClass('opened');
return false;
});
$(document).on('mouseup', function (e){
var bookingform = $(".booking-form");
if (!bookingform.is(e.target)
&& bookingform.has(e.target).length === 0
&& !$(e.target).is('.bookaviewing'))
{
bookingform.slideUp();
}
});
注意:我改变了外部点击,从hide()
改为slideUp
,因为hide
有点刺耳。