Передайте элемент «this» в функцию JS с URL «javascript:» - PullRequest
1 голос
/ 22 августа 2011

Короче хочу сделать

<a href="javascript:edit(this, 123)">Edit thing</a>

вместо

<a href="javascript:;" onclick="edit(this, 123)">Edit thing</a>

, где this будет <a />, а 123 - это идентификатор. Зачем? Это намного чище. Есть ли способ?

1 Ответ

9 голосов
/ 22 августа 2011

Как насчет того, чтобы сохранить семантику?

<button type="button" id="edit"> Edit this </button>

и затем добавить куда-нибудь javascript

document.getElementById("edit").addEventListener("click", function(ev) {
  // do edit logic
}, false);

У вас будут проблемы с addEventListener вустаревшие браузеры.Не стесняйтесь использовать flow для исправления addEventListener

Я также рекомендую прочитать о

И выберите один из этих двух методов.

Также, пожалуйста, не вставляйте жесткие коды в свои функции подобным образом.Ваша кнопка edit должна знать, что она редактирует по относительной позиции в DOM.должно быть легко найти семантический идентификатор , который находится на правильном элементе с помощью простого бита обхода DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...