обрабатывать события щелчка для всех объектов внутри div - PullRequest
0 голосов
/ 06 апреля 2011

У меня есть некоторый HTML как таковой

<div id="clickme">
<div>some stuff</div>
<div>some more stuff</div>
</div>

Я помещаю событие click в элемент clickme div

$("#clickme").click(function(){
alert("test");
});

Но когда я нажимаю на слова, событие никогда не срабатывает.Как мне активировать этот клик, чтобы он работал, даже когда я нажимаю на теги внутри div тоже?

Спасибо!

ОБНОВЛЕНИЕ:

Данные - это массив

$('#playerInfoContainer .playerInfoEntry').each(
    function (index) {
        var div = "";
        //alert(data[index]._userName);
        div = div + "<div id='" + data[index]._userName + "' style='display:none' class='ui-widget-content'><div style='height:200px'>";
        div = div + "</div>";
        div = div + "<input width='150px'/>";
        div = div + "</div>";
        $("#chat").append(div);
        $(this).data("player", data[index]);
        $(this).click(function () {
            alert($(this).data("player")._userName);
            $('#chat').find("#" + $(this).data("player")._userName).show();
        });
    });

Но предупреждение никогда не срабатывает.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Попробуй поставить свой код последней вещью до </body> и до jquery.js

0 голосов
/ 06 апреля 2011

Использование только того, что вы дали (пока), должно работать корректно. Единственное, о чем я могу думать, это то, что вы пытаетесь привязать событие к узлу / элементу до того, как оно будет вставлено в DOM.

Поскольку вы используете jQuery, один из способов сделать это - включить код в событие dom ready:

$(function() {
    $("#clickme").click(function() {
        alert("test");
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...