Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否从类选择器检测右键单击?_Javascript_Jquery - Fatal编程技术网

Javascript 是否从类选择器检测右键单击?

Javascript 是否从类选择器检测右键单击?,javascript,jquery,Javascript,Jquery,我有以下HTML,它是通过AJAX调用使用jQuery生成的: <ul id="ul-container"> <li class="li-item" data-deviceKey="1">Data1</li> <li class="li-item" data-deviceKey="2">Data2</li> </ul> 我正在尝试检测鼠标右键单击,然后在它发生时执行某些操作 这不管用,让我很紧张。我尝试了太

我有以下HTML,它是通过AJAX调用使用jQuery生成的:

<ul id="ul-container">
    <li class="li-item" data-deviceKey="1">Data1</li>
    <li class="li-item" data-deviceKey="2">Data2</li>
</ul>
我正在尝试检测鼠标右键单击,然后在它发生时执行某些操作

这不管用,让我很紧张。我尝试了太阳底下的每一种组合,试图让它发挥作用。要列出的内容太多了,但实际上什么都检测不到右键单击事件

奇怪的是,如果我将选择器设置为ul的ID,它会检测到它吗?但是,问题是,我需要从所选li获取数据设备密钥属性

有人知道问题在哪里吗

我尝试过的事情

1:这里面几乎每个回复都是:
2:检测到右键单击ul的ID,然后查找“最近的”li元素,该元素刚刚返回列表中的第一个li元素。
3:在我的实际代码中,我的li附带了3个类,我已经尝试使用所有这些类,但都不起作用
4:尝试使用
$('#ul container li')
无效


甚至可以检测到类上的右键单击吗?我哪里做错了?在我没有头发之前请帮忙

这只是一个猜测,但是如果您通过AJAX调用加载HTML内容,那么您需要在将HTML插入DOM后注册click处理程序

尝试在AJAX请求的
回调中注册
mousedown
。完成
回调:

$.ajax({
  url: "test.html",
}).done(function() {
  $('.li-item').mousedown(function(e) {
    if (e.which == 3) {
      console.log('Right Click Detected on ' + $(this).attr('data-deviceKey'));
    }
  });
});

您的代码运行良好:是的,它检测到右键单击,以及它在小提琴中的工作方式。。。但不在我的网页内..:一定是别的什么原因造成的。我明天在办公室时会调查的。不管怎样,谢谢。我明天回办公室的时候会试试的。奇怪的是,它是如何在上面的小提琴中工作的,但不是在我的网页上。。可能得重新考虑一下我是怎么做的。感谢您的回复。
$.ajax({
  url: "test.html",
}).done(function() {
  $('.li-item').mousedown(function(e) {
    if (e.which == 3) {
      console.log('Right Click Detected on ' + $(this).attr('data-deviceKey'));
    }
  });
});