jquery boxy插件:多次单击链接时阻止同一对话框的多个实例

时间:2010-04-14 15:19:08

标签: jquery jquery-plugins

我正在使用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返回undefined ... 唉,我从有限的Boxy文档中得不到多少。

启用选项modal: true会阻止用户多次点击该链接,但我不希望显示该叠加层。

感谢您对此有所了解。

-Lyon

3 个答案:

答案 0 :(得分:1)

我决定使用变量来识别boxy对话框是否已打开。如果它有,什么都不做。虽然不是一个优雅的解决方案......

var dialog = false;
$("a.create").click(function () {
  if (!dialog) {
    dialog = new Boxy.load(this.href, {
      title: 'Test',
      afterHide: function() { dialog = null; },
    });
    return false;
  }
});

答案 1 :(得分:0)

只需编辑Boxy的CSS文件即可取消叠加效果。

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

答案 2 :(得分:0)

我想知道实例是否可见

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}