Как получить элемент caller с помощью Javascript?
У меня есть таблица с id "tbl", и она имеет 2 строки и 3 столбца. Каждая ячейка (td) имеет явно определенный идентификатор. Кроме того, в таблице есть событие onclick, которое вызывает функцию foo(). Команда onclick() будет генерироваться всякий раз, когда будет нажата любая ячейка.
Тег таблицы
< таблица id = "tbl" width = "80%" height = "20%" onclick = "javascript: foo()" >
Я также пробовал javascript: foo (this)
Я хочу узнать идентификатор ячейки таблицы, которая была нажата.
Я попробовал следующий javascript
function foo(e)
{
var sender = (e && e.target) || (window.event && window.event.srcElement);
alert("Sender" + sender.id);
}
Это отлично работает в Google Chrome и IE, но не в Firefox. В Firefox отправитель undefined.
Как получить ячейку вызывающего абонента в Firefox?
Ответы
Ответ 1
Во-первых, удалите javascript:
из атрибута onclick
. Вы смешиваете это с javascript в атрибуте href
ссылки. В коде Javascript javascript:
создаст label с именем "javascript".
Кроме того, foo(event)
должен корректно работать с вашим окончательным образцом кода JavaScript. Причина, по которой он не работает в Firefox, но работает в Chrome и IE; они поддерживают глобальный объект события window.event
(который оценивается, когда ваш e.target
дает undefined
, потому что this
- это элемент, который не будет иметь свойство target
). Firefox не поддерживает глобальный объект event
.
Дальнейшее чтение: