Этот пример немного упрощен, но на моей веб-странице ASP.NET в моем коде C#/jquery я использую контекстное меню правой руки, которое отображает «rightMenu», когда правая мышь щелчок.Получение идентификатора элемента из простого javascript-вызова
$(document).ready(function() {
$(".RH_signoffrow td").contextMenu({
menu: 'rightMenu'
},
function(action, el, pos) {
var mykey = getkeyforitem(el);
mykey = "Details|" + mykey;
alert(
'Action: ' + action + '\n\n' +
'Key is: ' + mykey
);
if(action == "details"){
trigger_details_panel(mykey);
}
});
};
//for any td in the right hand side - get its row key
function getkeyforitem(el){
var mykey = $(el).parent().find('.hiddenrowkey').text();
// alert(
// 'Internal getkeyforitem Call' + '\n\n' +
// 'Key is: ' + mykey
// );
return mykey;
};
Обратный вызов меню переходит обратно элемент, который был нажат, и который может быть использован, чтобы вытащить keydata из текущей строки таблицы. Как только у меня есть эта keydata, я могу использовать его для вызова реальной функции, которой я был после: trigger_details_panel (mykey).
Это прекрасно работает, если я хочу использовать только правую кнопку мыши, но хочу включить изображение в некоторые строки, чтобы при щелчке изображения он получал тот же эффект, что и выбор правой кнопки мыши ,
Я не уверен, как это сделать чисто.
я могу включать изображения, ссылки на JavaScript в моей странице ...
<asp:ImageButton ID="imgDetails" runat="server" ToolTip="Show Details"
ImageUrl="./images/details.gif" OnClientClick="showdetailsclicked();return
false;"></asp:ImageButton>
Но как я могу получить его, чтобы вызвать код:
getkeyforitem(el);
Или, по крайней мере знать элемент (эл) это принадлежит? Кажется, должен быть способ использовать указатель (этот), чтобы получить то, что я хочу, но я не вижу его. Я просто пропустил более простой способ решить всю проблему?
'.contextMenu'. Какой плагин? –
контекстное меню было указано на основном сайте jQuery, но прямая ссылка здесь: http://abeautifulsite.net/2008/09/jquery-context-menu-plugin/ – Jim