Так что я попал в сложную ситуацию. У меня есть переменная, которая представляет данные таблицы:
row += '<td>' + c + '<button class="btn btn-success" id="' + callId + ' " onclick="handleCall()">Call</button>' + '<button class="btn btn-danger" id="' + hangupId + ' " onclick="handleHangUp()">Hangup</button>' + '</td>' ;
Позже я добавлю это в мой стол. Теперь, когда я нажимаю кнопку вызова, я хочу получить идентификатор кнопки. Я пробовал так:
function handleClick() {
console.log(this);
}
Но это относится к объекту окна. Кто-нибудь может показать мне путь к достижению моей цели? Благодарность
3 ответа
Просто передайте ID элемента в качестве параметра, чтобы сделать его простым,
Изменить,
onclick="handleCall()"
Чтобы ,
onclick="handleCall(this.id)"
this
ссылается на соответствующую кнопку, которую нажимает пользователь.
Тогда,
function handleClick(id) {
console.log(id);
}
Наконец, не используйте встроенные обработчики событий, так как с ними трудно работать в долгосрочной перспективе, используйте addEventListener
.
Есть два способа сделать это, вы можете сделать это через jQuery
с помощью attr
или если вы хотите остаться ванильным Javascript
, тогда вы можете использовать .id
.
jQuery
см. Код ниже:
console.log(jQuery('element').attr('id'));
Javascript
см. Код ниже:
console.log(element.id);
row += '<td>' + c + '<button class="btn btn-success" id="' + callId + ' " onclick="handleCall(this)">Call</button>' + '<button class="btn btn-danger" id="' + hangupId + ' " onclick="handleHangUp()">Hangup</button>' + '</td>' ;
function handleClick(element) {
console.log(element);
//here you will have all element properties
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.