У меня есть плагин Highslide на моей веб-странице с основными всплывающими окнами, что мне нужно, когда пользователь щелкает за пределы всех открытых всплывающих окон.Закрыть все Highslide on click outside
Пробовал это, но без везения:
hs.close();
У меня есть плагин Highslide на моей веб-странице с основными всплывающими окнами, что мне нужно, когда пользователь щелкает за пределы всех открытых всплывающих окон.Закрыть все Highslide on click outside
Пробовал это, но без везения:
hs.close();
После выполнения некоторых исследований в моей консоли я пришел с этим решением и работает довольно хорошо ..
$(document).mouseup(function (e)
{
if($(".highslide-wrapper").length==0)
return;
var container = $(".highslide-wrapper");
if (!container.is(e.target)
&& container.has(e.target).length === 0)
{
for (var i = 0; i < hs.expanders.length; i++) {
var exp = hs.expanders[i];
if (exp) exp.close();
}
}
});
И вы также можете иметь чек, если щелкнуть элемент другой эскиз или нет ..
Это может помочь: http://forum.highcharts.com/highslide-js-usage/multiple-hs-close-t22148/
Но если вы не используете затемнением фона, нажав вне детандер не закроет его. Как это могло быть? Вы можете щелкнуть по другому миниатюре, чтобы открыть его - он не может отличить.
hs.Expander.prototype.onInit = function(sender) {
for (var i = 0; i < hs.expanders.length; i++) {
var exp = hs.expanders[i];
if (exp) exp.close();
}
};