【问题标题】:Prevent a div dialog popup防止 div 对话框弹出
【发布时间】:2015-09-22 15:01:30
【问题描述】:

遇到问题希望有人能帮忙。

我的 Web 应用程序现在正在运行,回发将触发服务器端 ScriptManager 在首页弹出一个 div 对话框。默认情况下,这个弹出的 div 对话框是隐藏的,它只会由服务器端 ScriptManager 出现 喜欢

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(),
                                        "showDate", "<script type='text/javascript'>$(\"#myDate\").css(\"visibility\",\"visible\"); $(window).load(function () {$(\"#myDate\").dialog(\"open\");});</script>", false);

如果我无法更改服务器端代码怎么办,有没有办法在 html 页面中修改或添加一些 javascript 代码来防止这种情况发生?


简而言之,现在服务器端ScriptManager会调用.dialog(\"open\")来弹出div,有什么客户端方法可以防止这种情况发生吗?我现在无法更改服务器端。


编辑:默认情况下div是隐藏的,一旦点击页面img,回发会触发下面的服务器端代码

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(),
                                        "showDate", "<script type='text/javascript'>$(\"#myDate\").css(\"visibility\",\"visible\"); $(window).load(function () {$(\"#myDate\").dialog(\"open\");});</script>", false);

然后在 HTML 页面中我有

$('#plotTimeY').dialog({
        autoOpen: false,
        position: { my: "left top", at: "left top" },
        show: {
            effect: "blind",
            duration: 2000
        },
        hide: {
            effect: "explode",
            duration: 2000
        }
    });

现在服务器端没有代码更改(我不能),有没有客户端方法可以防止 div 对话框弹出?

欣赏!

感谢 J 桑托什

只需更改 div ID 即可。此解决方案更有可能针对我的问题指定,但不是通用解决方案。任何其他关于服务器端和客户端之间容器控制的评​​论或讨论都非常受欢迎!

【问题讨论】:

  • 这是一个很好的答案,但不适用于我的情况。我尝试了该代码,但它不会阻止弹出但在弹出后关闭对话框。
  • @Pugazh 谢谢,还有其他提示吗?
  • 更改div的ID
  • 很高兴为您提供帮助 :) 无法发布答案,因为它不值得回答,所以只需更新您的问题(在标题中添加已解决)并在正文末尾添加答案。 @Windtalker

标签: javascript jquery html css asp.net


【解决方案1】:

您始终可以通过以下方式在您的 css 文件中隐藏该元素 #mydate:

#mydate {
    display:none !important;
}

但我不知道 .dialog() 方法添加了什么样的事件监听器。 作为一种安全方式,您可以在超时后立即关闭对话框,如果

$("#mydate").dialog("close");}

可用。

【讨论】:

  • 我修改了我的描述,$("#mydate").dialog("close");} 不起作用
猜你喜欢
  • 2013-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
  • 2019-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多