1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 点击空白处--某个div 消失

点击空白处--某个div 消失

时间:2022-04-26 21:55:31

相关推荐

点击空白处--某个div 消失

背景:1.需要在 easyui grid 的编辑框 获取焦点的时候,在正下方展示费用类型的网格

2.在点击费用类型网格以外的地方,该网格消失

思路:

一、用easyui 的panel 作为费用类型网格的容器

因为grid 不能显示隐藏的切换不能控制

<!--费用类型grid--><div class="js-costtypewrap easyui-panel" data-options="closed:true,width:400"><table id="costtype"></table></div>

二、定位panel这个容器的位置

//展示费用类型function showFeeType(el) {var wrapTop = el.offset().top el[0].offsetHeight;var wrapLeft = el.offset().left - 200;$('.js-costtypewrap').panel('open');$('.js-costtypewrap').css({ 'position': 'absolute', 'top': wrapTop, 'left': wrapLeft });//省略其他代码}

三、点击文档的其他地方 让panel hide()

$(document).one('mousedown', function () {if ($('.js-costtypewrap')[0].clientWidth) {$('.js-costtypewrap').panel('close');}});

四、点击panel的时候,阻止冒泡

这样点击panel 的时候,就不会消失了

$('.js-costtypewrap').mousedown(function (event) {event.stopPropagation();});

如下:

敲重点

在点击easyui grid 的其他编辑框的时候,比如摘要... 费用类型的网格不能消失

原因: grid 正在编辑的输入框阻止了 click 事件的冒泡

解决方案: 使用 mousedown 事件

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。