... есть способ, чтобы получить элемент, на котором был назван .он как также элемент, на котором было вызвано событие?
Если вы хотите узнать, к какому элементу присоединилось событие, вы можете использовать event.delegateTarget.
Вы можете использовать его, похожее на это:
$(".item").on("click", "a", function (event) {
var link = $(this); // a tag
var itemDiv = event.delegateTarget;
console.log(itemDiv);
});
DEMO - Использование event.delegateTarget
Я не совсем уверен, что понимаю вторую часть вопроса, но если вы хотите узнать точный элемент, инициировавший событие, вы можете использовать event.target.
Я не уверен, что это то, что вы имели в виду, но на всякий случай я добавил пример ниже.
Вы можете использовать это примерно так:
$(".item").on("click", "a", function (event) {
var link = $(this); // a tag
var initiatedBy = event.target;
console.log(initiatedBy);
});
Это очень удобно, если у вас есть, скажем, span
внутри вашей ссылки или аналогичной, и нужно, чтобы проверить точный элемент щелкнул.
Это также может пригодиться, если вы хотите присоединить событие к контейнеру, но не хотите запускать какие-либо события внутри него, если не был выбран точный элемент внутри него.
DEMO - Осматривая элемент, который инициировал событие (вторая ссылка содержит span
, увидеть разницу в журнале консоли)
$ (это) .parent ('DIV') –
Это просто его родитель. –
.parent будет означать, что запрос будет * искать * его и неэффективно.Он хранит его в соответствии с ответом Кристофера. Пример выше - это просто. Его можно было бы легко вставить несколько раз, где .parent не было бы возможно. – CodingIntrigue