Получить массив элементов из события - PullRequest
0 голосов
/ 23 мая 2010

У меня есть несколько вложенных элементов DIV. Например:

<div id='id1'><div id='id2'>content</div></div>

Я присоединяю событие к обработчику событий DIVs, используя jQuery:

$('div').click(function () {
    //some code   
});

Будет два события, когда пользователь нажмет на контент. Так что будет два одновременных события. Можно ли попасть внутрь массива объектов обработчиков событий (DIV), имеющих событие click?

Может быть, это возможно, используя другой фреймворк, кроме jQuery?

Ответы [ 3 ]

1 голос
/ 23 мая 2010

Если вы буквально хотите массив div объектов, которые бы получили событие click, вы можете сделать:

$('div').click(function(e) {
    var array = $(e.target).parents('div').andSelf().get();
    alert(array);
    e.stopPropagation();;
});

Не уверен, что это то, что вам нужно, но array будет содержать массив div s в цепочке.

0 голосов
/ 23 мая 2010

Если вы обработчик, как вопрос:

$('div').click(function () {
    //some code   
});

Вы можете получить div внутри, вот так:

$('div').click(function () {
    $(this).find("div") //do something
});
0 голосов
/ 23 мая 2010

Если вы сделаете это, то внешний обработчик не будет срабатывать при нажатии внутреннего div:

$('div').click(function () {
    //some code

    return false;  
});

Если вы хотите получить массив ВСЕХ элементов, по которым щелкают, используйте это:

$('div').click(function () {
    //some code
    var divs = $(this).parents('div'); //Gets all the divs which are ancestors

    return false; //Prevent event bubbling 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...