【问题标题】:BlockUI jQuery on Button clickBlockUI jQuery 上的按钮单击
【发布时间】:2011-11-18 18:58:28
【问题描述】:

回答:这个问题的解决方法是这样的:

将选择器从 $('#Button3') 更改为 $('#<%= Button3.ClientID %>')

感谢尤里。

问题

我正在尝试获取一个按钮 click 来运行 JQuery BlockUI plugin。我遇到了一些问题,这是我第一次使用 JQuery。我确实有 Hello World 弹出示例工作,所以我认为我很接近,但可以使用一些帮助来解决其余的问题。

这里是代码...

<script src="../../scripts/jquery-1.2.6.js" type="text/javascript"></script>
<script src="../../scripts/jquery.blockUI.js" type="text/javascript"></script>

<script type="text/javascript">
 $(document).ready(function() {
     $("#Button3").click(function() {
     $.blockUI();

     setTimeout(function() {
         $.unblockUI({
             onUnblock: function() { alert('onUnblock'); }
         });
     }, 2000);
   });
});

</script>

我正在尝试在 aspx 页面上运行它。如前所述,Hello World 弹出窗口有效,但 blockUI 无效。

任何帮助将不胜感激。

这里是按钮 aspx...

 <td>
      <asp:Button ID="Button3" runat="server" Text="Button" />
  </td>

按钮上的事件没有代码。

这个 apsx 页面也有一个母版页。

在 Visual Studio 中关闭页面时,对代码的一些调整会导致此错误...

Microsoft JScript 运行时错误:Sys.ArgumentTypeException: Object of 类型“Sys._Application”无法转换为类型 '系统._应用程序'。参数名称:实例

【问题讨论】:

  • 你使用的是什么版本的 JQuery 和 Jquery BlockUI
  • jquery-1.2.6.js,我也试过jquery-1.7.js,今天下载了BlockUI,找不到版本。
  • 终于让开发PC上线了。 * jQuery blockUI 插件 * 2.39 版(2011 年 5 月 23 日) * @需要 jQuery v1.2.3 或更高版本
  • @您使用的是 asp:Button、asp:LinkBut​​ton 吗?他们有点击事件吗?请显示您的按钮标记以及 asp.net 版本。
  • 这个 apsx 页面也有一个母版页。

标签: jquery blockui jquery-blockui


【解决方案1】:

首先,您必须阻止 UI。只有它才会被解锁。您不能将未被阻止的内容解锁为 unblocked == not blocked

所以取消注释代码的按钮单击事件中的第一行。

演示:http://jsfiddle.net/naveen/D9GCj/1/

请注意asp:Button 将被渲染为input type="submit"

【讨论】:

  • 抱歉,注释掉的部分是为了其他测试,我需要修复我的帖子。
  • 呃-哦。我忘记了最琐碎的问题。您使用哪个浏览器测试代码?
  • Internet Explorer 9,这是一个 ASP 按钮。
【解决方案2】:

【讨论】:

  • 请注意 asp:net 呈现为 type="submit" 而不是 "type=button"
  • 我是否需要页面上的 AJAX 脚本管理器?这是在 ContntPlaceholder 内的 ASPX 页面上,它仍然不工作,但 Hello World 示例正在工作。想不通。
  • 尝试了这些版本,但我没有得到相同的结果。但是 Hello World 弹出窗口仍然有效。
【解决方案3】:

你可以试试这个方法

$(document).ready(
    function() {
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(onRequestStart)
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onRequestEnd)
    }
);

function onRequestStart() {
    $.blockUI();
}

function onRequestEnd() {
    $.unblockUI();
} 

按钮点击:

Protected Sub OnClick(sender As Object, e As EventArgs)
    Thread.Sleep(5000)
    Button1.Text = "Done"
End Sub

【讨论】:

  • 我实际上想在打开弹出 apsx 页面的 gridview 的 Edit click 事件上触发 BlockUI。当然,当 Child Popup 页面提交回父页面时会取消阻止。
猜你喜欢
  • 2012-08-26
  • 1970-01-01
  • 2014-10-10
  • 1970-01-01
  • 2018-12-18
  • 2011-04-18
  • 2013-04-08
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多