【问题标题】:Jquery modal dialog shows only at first clickJquery 模态对话框仅在第一次单击时显示
【发布时间】:2012-07-09 20:42:52
【问题描述】:

以下代码仅适用于第一次点击事件。但是对于任何后续点击都不会发生任何事情。

<input type="submit" name="add" value="Add it" onClick="javascript:Add(); return false;">

function Add()
{
   $(function(){
    var dialogOpts = {
        width: 880,
        height: 270,
        minWidth: 880,
        minHeight: 270,
        maxWidth: 890,
        maxHeight: 300
    };
    $("#add").dialog(dialogOpts);
    });
 }

如果我从以下位置删除 return false:

<input type="submit" name="add" value="Add it" onClick="javascript:Add(); return false;">

我让它在 Firefox 上工作,但在 IE8 中,窗口显示一到两秒钟,然后消失(缓存清除和所有)。

我在这个网络上似乎有很多关于这个问题的例子,但我担心我对 jquery 太陌生,无法应用它们:(

非常感谢

【问题讨论】:

标签: jquery jquery-ui onclick jquery-ui-dialog


【解决方案1】:

写这个来实例化你的对话框:

$(function(){

    $diag = $("#add");
    var dialogOpts = {
        width: 880,
        height: 270,
        minWidth: 880,
        minHeight: 270,
        maxWidth: 890,
        maxHeight: 300,
        autoOpen: false
    };
    $diag.dialog(dialogOpts); // This instantiates the dialog once.
    //And then add this eventhandler:
    $("input[name='add']").click(function(){
       $diag.dialog('open');
    });
});

并删除所有内联 onclick 的东西 - 尽可能避免它...

【讨论】:

  • $diag.dialog 不是指向 $diag.dialog(dialogOpts); 的函数
  • @user523129 你想说什么?我不明白... $diag var 在这个范围内保持不变,为什么它不能工作?
  • 我在 Firebug 的控制台中收到此错误:$diag.dialog 不是函数,也没有打开模式。
  • @user523129 好吧,我修正了我的错字;)再试一次。
  • $("input[name='add']").on 不是函数
【解决方案2】:

你想删除你的一些代码:) "javascript:" 不是必需的

<input type="submit" name="add" value="Add it" onClick="Add();">

并且不需要 dom 准备好的部分

function Add()
{
    var dialogOpts = {
        width: 880,
        height: 270,
        minWidth: 880,
        minHeight: 270,
        maxWidth: 890,
        maxHeight: 300
    };
    $("#add").dialog(dialogOpts);
 }

【讨论】:

  • 谢谢,但仍然与我删除返回 false 时相同。适用于 Firefox,但在 IE8 中,模式在一两秒后消失:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
  • 2011-07-14
  • 2013-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多