Задать вопрос
omaxphp
@omaxphp
Выучиться не значит знать

Как вытащить из функции jquery DOM названия элементов?

у меня есть функция

function A() {

$('.div1').click()
$('.input1').change()
$('.input2').focus()
// и так далее

}

мне нужно вытащить 'div1', '.input1', '.input2' ..... то есть DOM названия элементов, на которые были повешены какие-либо события

PS: мы не знаем сколько у нас событий! И интересно, а у jquery нет по умолчанию - пространство имен DOM?
  • Вопрос задан
  • 2470 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
RubaXa
@RubaXa
`.div1, .input1, .input2` — это не названия элементов, а селектор, в данном случае `css className`.

Не очень понятно какую задачу вы пытаетесь решить, но может вам подойдет api.jquery.com/event.namespace ?

$('.div1').on('click.foo', function (evt) {
    console.log(evt.namesapce); // foo
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SiDChik
@SiDChik
Можно получить список всех событий у конкретного dom элемента:
​$._data( $("#foo")[0], "events" );

Либо можно сделать свою обертку для $ скажем:
function _$(selector) {
 // Сюда пишем логику сохранения списка селекторов
 // ..
 return $(selector);
}


И тогда использовать для бинда:
_$('.div1').click()
_$('.input1').change()
_$('.input2').focus()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы