jQuery input button click Event listener

Zupełnie nowy w jQuery. Próbowałem skonfigurować słuchacz zdarzeń dla następującej kontroli na mojej stronie, która po kliknięciu wyświetli alert:

<input type="button" id="filter" name="filter" value="Filter" />
Ale nie zadziałało.
$("#filter").button().click(function(){...});

Jak utworzyć detektor zdarzeń dla kontrolki przycisku wprowadzania za pomocą jQuery?

Author: Bob, 2012-05-09

3 answers

Po pierwsze, button()jest funkcją jQuery ui do tworzenia widżetu przycisków , który nie ma nic wspólnego z rdzeniem jQuery, po prostu stylizuje przycisk.
Więc jeśli chcesz użyć widżetu Dodaj pliki javascript i CSS jQuery ui lub alternatywnie usuń go, jak to:

$("#filter").click(function(){
    alert('clicked!');
});

Kolejną rzeczą, która mogła spowodować problem, jest to, że nie czekałeś na renderowanie wejścia i nie napisałeś kodu przed wejściem. jQuery ma funkcja ready, lub jest to alias $(func), który wykonuje wywołanie zwrotne, gdy DOM jest gotowy.
Sposób użycia:

$(function(){
    $("#filter").click(function(){
        alert('clicked!');
    });
});

Więc nawet jeśli kolejność jest taka to będzie działać:

$(function(){
    $("#filter").click(function(){
        alert('clicked!');
    });
});

<input type="button" id="filter" name="filter" value="Filter" />

DEMO

 58
Author: gdoron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-25 12:02:57
$("#filter").click(function(){
    //Put your code here
});
 5
Author: Danilo Valente,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-09 00:26:12

Więcej na temat odpowiedzi gdorona, można to również zrobić w ten sposób:

$(window).on("click", "#filter", function() {
    alert('clicked!');
});

Bez konieczności umieszczania ich wszystkich w $(function(){...})

 3
Author: H0WARD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-28 16:22:30