2011-03-25 20 views
0

我有一个模式对话框出现在不应该被访问的页面上,但仍应该从模式对话框的外部看到。我所拥有的一切,除了两个问题工作完美:尝试创建一个没有关闭选项的jQuery UI模式对话框

  • 一旦出现模式对话框,在其中的链接自动对焦,所以在它周围有一个蓝色的盒子(就像使用到它,我的任何元素集中),但我不希望这种行为。
  • 此外,还有一个X按钮,允许用户关闭对话框,我想摆脱它。

任何帮助?

回答

5

为了防止一个jQuery UI的对话框将永远不能关闭:

  1. 设置选项closeOnEscapefalse

    $(dlg).dialog('option', 'closeOnEscape', false);

  2. 刚刚创建后删除其关闭按钮

    $(dlg).parent().find('a.ui-dialog-titlebar-close').remove();

  3. 注册NOOP beforeclose处理程序:

    $(dlg).bind('dialogbeforeclose', false);

#1#3也可以创建过程中完成的,当然。

0

对于第二点,试试这个:通过您的jQuery UI的CSS文件

1浏览和查找该类

.ui-dialog .ui-dialog-titlebar-close 

2-修改这个类,以便关闭按钮不会显示,只是替换为以下:

.ui-dialog .ui-dialog-titlebar-close { disply:none; position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } 

我只是增加了一个新的属性(显示:无),以确保操作的键不是向最终用户可见。

让我知道这是否有帮助,谢谢。

+0

最好不要修改jQuery提供的CSS,而是在别的地方重写它。这样,当你升级jQuery UI时,你不必再次修补你的CSS。更好的是,在创建对话框后立即从DOM中删除'.ui-dialog-titlebar-close'元素。 – Alnitak 2011-03-25 22:18:18