右键单击事件

时间:2016-08-29 18:56:54

标签: javascript php jquery twitter-bootstrap contextmenu

  

http://jsbin.com/iGaHAtu/2/edit?html,css,js,output

看看这个链接,我想得到点击表的厄运元素。我该怎么做 ? 我将尝试使用此代码但不起作用。

例如,当我点击右侧并打开上下文菜单时,我想要列文本..任何人都可以提醒内部列吗?

$("body").on("contextmenu", "table tr", function(e) {
    $contextMenu.css({
      display: "block",
      left: e.pageX,
      top: e.pageY
    });
    console.log($(this));
    return false;
  });

3 个答案:

答案 0 :(得分:2)

$(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

答案 1 :(得分:2)

首先使用TR> TD选择器

$("table tr >td").on("contextmenu", function(e) { alert($(this).text()); //rest of the statements goes here });

答案 2 :(得分:0)

Internet Explorer介绍element.innerText,其他浏览器使用element.textContent

<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/easy-autocomplete/1.3.5/easy-autocomplete.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/easy-autocomplete/1.3.5/easy-autocomplete.themes.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/easy-autocomplete/1.3.5/jquery.easy-autocomplete.min.js"></script>

<form method="get" id="form-test">
  <input id="provider-file">
  <input type="hidden" id="id-value" name="get_value">
  <input type="submit">
</form>