Javascript 是否从类选择器检测右键单击?
我有以下HTML,它是通过AJAX调用使用jQuery生成的: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> 我正在尝试检测鼠标右键单击,然后在它发生时执行某些操作 这不管用,让我很紧张。我尝试了太
<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'));
}
});
});