Как правильно связывать события в jQuery? - PullRequest
2 голосов
/ 10 ноября 2009

Например в php у меня есть список клиентов:

foreach($clients as $client)
    echo '<li id="client_'.$client->id.'">' . $client->name . '</li>';

Как правильно связать событие клика с каждым элементом списка без

onclick="my_function(the_elements_id)"

прямо в элементе списка.

Ответы [ 4 ]

4 голосов
/ 10 ноября 2009

И очень крутой "живой" способ привязки для всех текущих и будущих согласованных элементов. Это удобно, если вы используете Ajax, и вам нужно перепривязать событие, скажем, к изображению, которое вы получаете через ajax.

Подробнее @ http://docs.jquery.com/Events/live#typefn

$("p").live("click", function(){
  alert( $(this).text() );
});
4 голосов
/ 10 ноября 2009

при условии, что у вас есть ul с id = "client_list"

$("#client_list li").click(function()
{
    var myid = $(this).attr("id"); // the clicked on items id
    // do your thing here.

}):
1 голос
/ 10 ноября 2009

Вы также можете использовать .bind

* 1003 Е.Г. *

$('#item').bind("click", function() { do something; });
0 голосов
/ 10 ноября 2009
$(document).ready(function(){

    $("li).click(function(){
        var id = $(this).attr("id");
        your_function(id); //The function you want to run with the object's ID as a parameter.
    });

});
...