在onLlick按钮上调用blockUI

时间:2010-09-29 09:32:11

标签: c# asp.net jquery blockui

我试图在点击按钮后调用blockUI,但我无法让它工作。 我做错了什么?

脚本:

    $(function() {
        $('#<%= btnSave.ClientID %>').click(function(e) {   
            e.preventDefault();   
            $.blockUI({   
                message: '<div><h1><img src="Images/busy.gif" />   Please wait...</h1>',
                css: { textAlign: 'center', border: '3px solid #aaa', padding: '10px, 0px, 0px, 0px' , verticalalign: 'middle' }  
            }); 
            var btn = document.getElementById("ctl00_ContentPlaceHolder1_btnHidden");
            btn.click();                 
        }); 
    }); 

按钮:

<asp:Button ID="btnSave" runat="server" Text="Save" CssClass="button" Width="200" />

1 个答案:

答案 0 :(得分:3)

由于您在UpdatePanel中,请在此处使用.live(),如下所示:

$(function() {
    $('#<%= btnSave.ClientID %>').live('click', function(e) {   
        e.preventDefault();   
        $.blockUI({   
            message: '<div><h1><img src="Images/busy.gif" />   Please wait...</h1></div>',
            css: { textAlign: 'center', border: '3px solid #aaa', padding: '10px, 0px, 0px, 0px' , verticalalign: 'middle' }  
        }); 
        var btn = document.getElementById("ctl00_ContentPlaceHolder1_btnHidden");
        btn.click();                 
    }); 
}); 

.live()document级别听取btnSave点击以冒泡...所以当元素被添加,删除,替换等时它会起作用。(和你的UpdatePanel正在替换每个回发),其中.click()直接将附加到元素......并且当替换元素时click处理程序将丢失。