我有的使用jQuery从一个AJAX调用产生以下HTML:检测从类选择器中单击鼠标右键?
<ul id="ul-container">
<li class="li-item" data-deviceKey="1">Data1</li>
<li class="li-item" data-deviceKey="2">Data2</li>
</ul>
然后我有这样的jQuery代码:
$('.li-item').mousedown(function(e) {
if(e.which == 3) {
console.log('Right Click Detected on '+$(this).attr('data-deviceKey'));
}
});
我想检测单击鼠标右键,然后发生时做一些事情。
这不起作用,它强调我。我试着从字面上理解太阳下的每种组合,以便尝试让这个工作起作用。列出的方式太多,但从字面上看,没有任何东西会检测到右键单击事件。奇怪的是,如果我将选择器设置为ul的ID,它会检测到它吗?但是,问题是,我需要从选定的li获取data-deviceKey属性。
有没有人知道问题出在哪里?
事情我已经试过
1:差不多在这每一个回答:How to distinguish between left and right mouse click with jQuery
2:检测在UL的ID,然后找到“最接近” li元素,刚刚返回的第一个里点击右键元素在列表中。
3:在我的实际代码中,我的li有3个类附加,我试过使用所有这些没有工作
4:尝试使用$('#ul-container li')
无济于事。
甚至有可能检测到类的右键点击?我哪里错了?在我没有留下头发之前请帮忙!
你的代码工作正常:https://jsfiddle.net/1hd91wrs/ – rybo111
是的,它检测到鼠标右键的http:// jsbin。 com/kiluvu /编辑?html,js,控制台,输出 –
奇怪它是如何工作的小提琴...但不是在我的网页..:S必须是其他东西导致它。明天我会在办公室里进行调查。不管怎么说,还是要谢谢你。 –