Jak obsługiwać zdarzenia kliknięć przycisków w jQuery?

135

Muszę mieć przycisk i obsłużyć jego zdarzenie w jQuery. Piszę ten kod, ale nie działa. Przegapiłem coś?

<!-- Begin Button -->  
<div class="demo">
<br> <br> <br>   
<input id = "btnSubmit" type="submit" value="Release"/>
<br> <br> <br>  
</div>
<!-- End Button -->

Oraz w pliku javascript

function btnClick()
{
    //    button click
    $("#btnSubmit").button().click(function(){
        alert("button");
    });    
}
Ahmad Farid
źródło
1
Dlaczego po prostu nie wyjąć go z btnClickfunkcji obejmującej ? Nie rozumiem, co to dodaje
CodyBugstein

Odpowiedzi:

254

Musisz umieścić procedurę obsługi zdarzenia w zdarzeniu $ (document) .ready ():

$(document).ready(function() {
    $("#btnSubmit").click(function(){
        alert("button");
    }); 
});
Davide Gualano
źródło
27
$(document).ready(function(){

     $('your selector').bind("click",function(){
            // your statements;
     });

     // you can use the above or the one shown below

     $('your selector').click(function(e){
         e.preventDefault();
         // your statements;
     });


});
Lawrence Gandhar
źródło
5
Dobrze, ponieważ jest
jedyną osobą,
13
Począwszy od jQuery 1.7, .on()metoda ta jest preferowaną metodą dołączania programów obsługi zdarzeń do dokumentu. Dlatego byłoby lepiej:$('your selector').on("click", ...);
Tinynumbers
12
$('#btnSubmit').click(function(){
    alert("button");
});

lub

//Use this code if button is appended in the DOM
$(document).on('click','#btnSubmit',function(){
    alert("button");
});

Więcej informacji można znaleźć w dokumentacji:
https://api.jquery.com/click/

Bruce Phillip Perez
źródło
Przycisk dołączony do rzeczy dom jest zawsze problemem, jeśli używasz powiadomienia, takiego jak sweetalert. Dzięki za zwrócenie uwagi
Deepesh Thapa,
6
 $("#btnSubmit").click(function(){
        alert("button");
    });    
Ali Tarhini
źródło
6

Spróbuj tego:

$(document).on('click', '#btnClick', function(){ 
    alert("button is clicked");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 <button id="btnClick">Click me</button> 

Rafiqul Islam
źródło
Ta wersja ma tę zaletę, że nadal działa, jeśli #btnClick zostanie utworzony po uruchomieniu tego skryptu.
Jimbali
3
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<script>
$(document).ready(function(){
  $("#button").click(function(){
    alert("Hello");
  });
});
</script>

<input type="button" id="button" value="Click me">
Nivediny
źródło
1

<script type="text/javascript">

    $(document).ready(function() {

    $("#Button1").click(function() {

        alert("hello");

    });

    }
    );

</script>
Anup Ghanshala
źródło
1
$('#btnSubmit').click(function(event){
    alert("Button Clicked");
});

lub tak jak używasz przycisku przesyłania, dzięki czemu możesz napisać kod w zdarzeniu walidacji formularza, takim jak

$('#myForm').validate(function(){
    alert("Hello World!!");
});
Hiren
źródło
0

Pracuje dla mnie

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">

$("#btn").click(function() {
    alert("email")
});

</script>
marynarka wojenna
źródło