当我右键单击网格标题时菜单没有显示

时间:2018-03-16 23:25:52

标签: javascript jquery html5 css3

  • 我正在尝试将右键菜单集成到网格标题中。
  • 当我右键点击谷歌链接其工作。
  • 但是当我右键点击网格标题时,菜单没有显示。
  • 你能告诉我如何解决它。
  • 在下面提供我的代码。

http://jsfiddle.net/c7gbh1e9/

$('body').on('contextmenu', 'a.test', function() {


  //alert("contextmenu"+event);
  document.getElementById("rmenu").className = "show";
  document.getElementById("rmenu").style.top = mouseY(event);
  document.getElementById("rmenu").style.left = mouseX(event);

  document.getElementsByClassName("k-grid-header").className = "show";
  document.getElementsByClassName("k-grid-header").style.top = mouseY(event);
  document.getElementsByClassName("k-grid-header").style.left = mouseX(event);

  //getElementsByClassName

  window.event.returnValue = false;


});

2 个答案:

答案 0 :(得分:0)

这是因为右键单击时会触发事件。将a.test更改为.test,并在已删除的标题上添加test类。

答案 1 :(得分:0)

Fiddle中的代码在#test上设置了侦听器,但该元素的id为#test1。你应该先解决这个问题。然后...

document.getElementsByClassName(...)返回一个集合。如果您打算在类名为className = "show"的每个元素上设置k-grid-header,则必须对它们进行迭代。

使用querySelectorAll()最容易做到这一点,因为它返回一个带有forEach()方法的集合

document.querySelectorAll( 'K-网格报头。')的forEach(EL => {    el.className =“”;    //等等 });