Посмотрите на эту ссылку, я хочу получить элемент таблицы Doom. Как мне это сделать ?
Я собираюсь попробовать этот код, но он не работает.
Например, я хочу разместить текст в столбце, когда щелкнул правой кнопкой мыши и открыл контекстное меню. Кто-нибудь может предупредить внутренний столбец?
$("body").on("contextmenu", "table tr", function(e) {
$contextMenu.css({
display: "block",
left: e.pageX,
top: e.pageY
});
console.log($(this));
return false;
});
использование $(e.target)
для объекта jquery, представляющего элемент, по которому щелкнули. В противном случае просто используйте e.target
для простого старого элемента Javascript DOM.
В вашем случае, чтобы предупредить текст столбца, попробуйте этот код:
$(function() {
var $contextMenu = $("#contextMenu");
$("body").on("contextmenu", "table tr", function(e) {
$contextMenu.css({
display: "block",
left: e.pageX,
top: e.pageY
});
alert($(e.target).text());
return false;
});
$contextMenu.on("click", "a", function() {
$contextMenu.hide();
});
});
Больше на event.target здесь: https://developer.mozilla.org/en-US/docs/Web/API/Event/target
Сначала используйте TR> TD селектор
$("table tr >td").on("contextmenu", function(e) {
alert($(this).text());
//rest of the statements goes here
});
Internet Explorer представил element.innerText, другие браузеры используют element.textContent.
$(function() {
$("body").on("contextmenu", "table tr", function(e) {
var target = e.target.parentElement;
var text = target.innerText || target.textContent;
alert(text);
return false;
});
});