2013-03-06 10 views
7

voglio sapere tutti i modi possibili per innescare un pulsante in jQuery, ho provato questo, ma non sta funzionando,tutti i modi possibili per innescare un pulsante di scatto in jQuery

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

Nota: suo un ASP. Il pulsante Net e quello che voglio è di far scattare il click del pulsante in modo che attiverà un metodo click-behind del codice di buttonA.

risposta

9

Prova questo

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

se non funziona provare per avvisare questo e verificare se è sempre accessibile da JQ

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

Non sei iscritto l'evento con jQuery in modo seguente

Un'altra cosa da confermare, stai caricando questo pulsante direttamente sul caricamento della pagina o y stai avendo un pannello di aggiornamento della pagina che lo carica dopo le parole?

Se sì allora si dovrebbe associare l'evento al pulsante nel seguente modo

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

, la lunghezza restituisce la casella di avviso con "1" – Mathematics

+0

Non riesco a inserire la logica in jquery poiché è un codice dietro il metodo – Mathematics

+0

potrebbe essere necessario attivare un evento DOM .... in tal caso, provare questo ... ** ("# <% = btA.ClientID%>") [0] .click(); ** ... Spero che funzioni ... –

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

Credo che questo sia l'unico altro modo.

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

Or 

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

Ragione che non attiva di lavoro è Jquery solo consentono di attivare uno scatto che Jquery ha creato. Usa il percorso del trigger dopo aver scritto un listener di clic.

1

Potrebbe essere che si sta tentando di collegare l'evento, quando il controllo stesso non viene caricato sulla pagina.

Prova questo.Esso acquista un po 'di tempo e quindi collega l'evento.

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

scusa ma la mia riga di codice è in "$ (documento).ready (function() ", quindi non penso che sia il problema – Mathematics

+0

giusto, ma ho avuto questo problema simile, quando il trigger non funzionava anche se era all'interno del documento.ready(). setTimeout l'ha risolto per me. –

2

Mi batte perché dovrebbe essere una cosa molto semplice. In realtà ho appena provato e ha funzionato senza intoppi. Qui è la mia marcatura:

<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> 

... e ho questo metodo nel mio codice dietro:

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

Quando viene eseguita l'applicazione, si attiva l'evento click dei btA incendi pulsante immediatamente e il Ciao mondo! Il testo viene visualizzato sull'etichetta. Controlla se potresti perdere qualcosa.

Problemi correlati