Я пытаюсь написать опцию контекстного меню для моей страницы.В основном, по div щелкают правой кнопкой мыши, появляется меню опций, которое можно использовать для выполнения задач.
Моя проблема - попытаться найти оригинальный элемент, который запустил все (т.е. div, по которому щелкнули правой кнопкой мыши).
Мой код jQuery больше или меньше:
//this is what displays the context menu
$('.outfeedPosition').bind("contextmenu", function (e) {
$('#contextMenu').css({
top: e.pageY + 'px',
left: e.pageX + 'px'
}).show();
//'this' is the element which was clicked by the user.
alert($(this).attr('id'));
return false;
});
//this is the contextMenu's button handler.
$('#ctxDelete').click(function () {
alert('delete was clicked, but i dont know by which element - so I dont know which one to delete');
});
<div id="contextMenu">
<ul>
<li><a id="ctxInsert" href="#">Insert</a></li>
<li><a id="ctxEdit" href="#">Edit</a></li>
<li><a id="ctxDelete" href="#">Delete</a></li>
</ul>
</div>
- Итак, я вижу, какой элемент создал событие, когда происходит первоначальный щелчок правой кнопкой мыши.Но не тогда, когда по пункту меню щелкают.
Я работал над тем, чтобы что-то набросать, выписав элемент в скрытое текстовое поле при щелчке правой кнопкой мыши, затем прочитав его, когда щелкнул один из параметров, затемудаляя его, когда меню закрывается.Хотя это не похоже на идеальный подход - и я чувствую, что мне не хватает чего-то простого.
Надеюсь, вы понимаете, что я пытаюсь сделать.Я могу опубликовать более полный пример по запросу.