2013-03-06 49 views

回答

9

試試這個

$("#<%=btA.ClientID%>").click(); 

,如果它不工作,試圖提醒這一點,並檢查其是否過得去JQ訪問

​​

你有沒有註冊使用jQuery的事件在下列方式

$(function(){ 
    $("#<%=btA.ClientID%>").click(function(){ 
    // your logic here 
}); 
}); 

還有一件事要確認,你是直接加載這個按鈕在頁面加載或y你有一些頁面更新面板加載它的後綴?

如果是的話,那麼你應該將事件按鈕,在下面的方式引發不工作時的Jquery只允許你觸發一次點擊的Jquery創造

$(document).on('click',"#<%=btA.ClientID%>", function() {...}); 
+0

yup,長度爲「1」表示後退警告框 – Mathematics 2013-03-06 08:43:08

+0

我不能將邏輯放在jquery中,因爲它的代碼位於方法 – Mathematics 2013-03-06 08:46:26

+0

之後,您可能需要觸發DOM事件....在這種情況下,請嘗試... **(「#<%= btA.ClientID%>」)[0] .click(); ** ...希望這會起作用.... – 2013-03-06 09:03:42

1
$("#<%=btA.ClientID%>").click(); 

我相信這是唯一的其他方式。

2
$("#<%=btA.ClientID%>").click(); 

Or 

$("input[id$='yourbuttonId'").click(); 

原因綁定。寫完一個點擊監聽器後,使用觸發器路由。

1

可能是您嘗試連接事件,當控件本身沒有加載到頁面上。

試試這個,而不是購買一點時間,然後連接事件。

setTimeout(function() { 
    $("#<%=btA.ClientID%>").trigger('click'); 
}, 10); 
+0

抱歉,我的代碼行在「$(document)」中。ready(function()「,所以我不認爲這是問題 – Mathematics 2013-03-06 08:47:47

+0

正確的,但我有這個類似的問題,當觸發器不工作,即使它是在document.ready()。setTimeout爲我解決它。 – 2013-03-06 08:51:18

2

它擊敗了我,因爲它應該是一個非常簡單的事情。我其實只是試了一下,它沒有任何問題。這裏是我的標記:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#<%=btA.ClientID%>").trigger('click'); 
    }); 
</script> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label ID="lbA" runat="server"></asp:Label> 
     <asp:Button ID="btA" runat="server" OnClick="btA_Click" Text="Click Me!" /> 
    </div> 
    </form> 
</body> 
</html> 

...我在我的代碼有這個方法的背後:

protected void btA_Click(object sender, EventArgs e) 
{ 
    lbA.Text = "Hello World!"; 
} 

當應用程序運行時,它會立即觸發click事件btA觸發按鈕和Hello World!文本呈現在標籤上。檢查你是否可能錯過了一些東西。

相關問題