我有一个场景,我隐藏Div块,如果我点击div块的任何一侧.
我正在使用Internet Explorer并测试该应用程序.如果没有滚动条我的代码工作正常.如果div块上有一个滚动条,那么当我点击滚动条时,它会认为滚动条不是div的一部分,它会隐藏div块.我试图保持div块打开,即使用户点击滚动条并进行滚动操作.
var $container = $(".toolbarBlock"); $(document).mouseup(function (e) { if (!$container.is(e.target) // if the target of the click isn't the container... && $container.has(e.target).length === 0) // ... nor a descendant of the container { toolbarClose(); } }); function toolbarClose() { return $.when(slideOut($container)); }
解决方法
我想发布回答,以便对遇到同样问题的其他人有所帮助.
我用了:
e.target!= $(‘html’).get(0)//也不是滚动条
var $container = $(".toolbarBlock"); $(document).mouseup(function (e) { if (!$container.is(e.target) // if the target of the click isn't the container... && ($container.has(e.target).length === 0) // ... nor a descendant of the container && (e.target != $('html').get(0))) // nor the scrollbar { toolbarClose(); } }); function toolbarClose() { return $.when(slideOut($container)); }