jquery boxy плагин: предотвратить несколько экземпляров одного и того же диалога при многократном нажатии на ссылку - PullRequest
0 голосов
/ 14 апреля 2010

Я использую плагин Boxy jQuery, чтобы открывать диалоговые окна и заполнять его через ajax. http://onehackoranother.com/projects/jquery/boxy/

Вот мой код:

$("a.create").click(function (e) {
  url = $(e.target).attr('href');
  Boxy.load(url, {title:'Test'});
});

Это открывает диалоговое окно в порядке. Однако, если я снова нажму на ссылку, откроется другое диалоговое окно. Как я могу сделать так, чтобы ранее открытый диалог Boxy был в фокусе? Мне нужен только один экземпляр этого диалога.

Я пытался присвоить переменную var ele = Boxy.load();, но переменная ele возвращает неопределенное значение ... Увы, я не могу разобрать многое из доступной ограниченной документации Boxy.

Включение опции modal: true не позволит пользователю нажимать на ссылку несколько раз, но я не хочу, чтобы наложение отображалось.

Спасибо за любой свет, который вы можете пролить на это.

-Lyon

Ответы [ 3 ]

1 голос
/ 14 апреля 2010

Я решил использовать переменную, чтобы определить, был ли открыт квадратный диалог. Если это так, ничего не делай. Не элегантное решение, хотя ...

var dialog = false;
$("a.create").click(function () {
  if (!dialog) {
    dialog = new Boxy.load(this.href, {
      title: 'Test',
      afterHide: function() { dialog = null; },
    });
    return false;
  }
});
0 голосов
/ 20 сентября 2011

Интересно, виден ли экземпляр

var winactive= $('#'+targetDiv).is(':visible'); 
//verificamos si el frame de carga es visible, esto indicara si la ventana modal esta activa        
if(winactive== false)
{
    //ok
     }
     else{// not}
0 голосов
/ 14 апреля 2010

Просто отредактируйте CSS-файл Boxy, чтобы убрать оверлей.

.boxy-modal-blackout { position: absolute; background-color: none; left: 0; top: 0;}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...