Как вернуть значение идентификатора из функции события Click? - PullRequest
0 голосов
/ 10 апреля 2020

Я новичок в Javascript. Я пытаюсь получить идентификатор нажатой кнопки. Я использовал функцию, чтобы получить идентификатор, но я не могу вернуть значение. Как вернуть удостоверение личности и использовать его на улице? оповещение для проверки.

var getID = function(){

    var ID=this.id;
    alert(ID);

}

document.getElementById('button1').addEventListener('click',getID);
<button id="button1">Click Me!</button>

Ответы [ 3 ]

1 голос
/ 10 апреля 2020
var getID = function(event){

   var ID = event.target.getAttribute('id');
   alert(ID);

}
0 голосов
/ 10 апреля 2020

Вы можете получить идентификатор элемента, по которому щелкнули, позвонив по номеру event.target.id.

Допустим, у нас есть следующие кнопки:

<button id="hello">Hello</button>
<button id="world">World</button>
<button id="i-am">I'm</button>
<button id="happy">Happy</button>

javascript будет:

// get all buttons
const buttons = document.querySelectorAll('button')

// add click event listener to each button
buttons.forEach(button => {
    button.addEventListener('click', e => {
        console.log(`id -> ${e.target.id}`)
    })
})

Надеюсь, это поможет.

0 голосов
/ 10 апреля 2020
var ID = event.currentTarger.id;

Это ключевое слово относится к текущему объекту, частью которого является текущая функция.

На базовом уровне, где, как представляется, нет объекта, «документ» является фактическим объектом. Неуместно ссылаться на «это» далее в отношении обработчика событий, который может работать в любом объекте и обрабатывать события вне объекта.

Каждое инициируемое событие имеет ряд стандартных атрибутов, прикрепленных к нему. , «currentTarget» - это элемент, при котором прослушиватель событий был вызван, вызывая вашу функцию обработки событий.

Пока у события есть идентификатор, атрибут элемента «id» будет сообщать вам, что это такое.

var getID = function(event){
   var elementWithID = event.currentTarget;
   var ID = elementWithID.id;
   alert(ID);
}

, чтобы выразить его более многословно.

...