menuitem. Узнать по какому элементу кликнули
Всем доброго. Есть меню:
<menu type="context" id="cellpopup"> <menuitem label="Set NULL" onclick="SelNULL(this)"></menuitem> </menu> Это меню определено для каждой ячейки некой таблицы. В зависимоти от того по какой ячейке я кликну вызвав меню нужно выполнять разные действия. Вопрос: Как в SelNULL() передать при клике ячейку (или в принципе объект), по которой кликнули? |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
event.target |
Цитата:
Обычно я event передаю в обработчик, а как не передавать? Если имеется ввиду такое: function SetNULL(me){ alert(window.event.target); } то это не срабатывает. Если же я пишу так: <menu type="context" id="cellpopup"> <menuitem label="Set NULL" onclick="SetNULL(event.target)"></menuitem> </menu> То мне в параметр все равно приходит [object HTMLMenuItemElement] |
Vit,
Цитата:
Цитата:
либо зависимость от верстки (клик по меню - поиск нужного парента - поиск элемента) либо идентификаторами связывать элемент и меню, которое вызывается. |
Ладно, уточню: Каждая клетка таблицы олицетворяет собой поле записи в таблице БД. Я хочу сделать установку поля в NULL. Мне (это для меня) было бы очень удобно делать это в контекстном меню, поэтому задача состоит в том, чтоб функции SetNULL() передать ID записи (хранится в атрибутах TR тега) и имя поля (хранится соответственно в атрибутах TD). Но чтоб передать в процедуру эти данные мне нужно знать по какой именно клетке щелкнули ПКМ, вызвав меню.
Цитата:
|
Vit,
<menu type="context" id="cellpopup"> <menuitem label="Set NULL" onclick="SelNULL()"></menuitem> </menu> <table id="table" border="1"> <tr> <td contextmenu="cellpopup">11111</td> <td contextmenu="cellpopup">22222</td> <td contextmenu="cellpopup">33333</td> <tr> </table> <script> var thisCell; table.oncontextmenu = function(e) { thisCell = e.target }; function SelNULL() { alert(thisCell.innerHTML) } </script> |
О! Спасибо.
Толчок в нужном направлении получен - задача решена. Мои благодарности. |
Часовой пояс GMT +3, время: 04:30. |