如何使用jQuery获取单击的鼠标按钮?
$('div').bind('click', function(){
alert('clicked');
});
Run Code Online (Sandbox Code Playgroud)
这是由左右键单击触发的,能够捕获鼠标右键的方式是什么?如果存在以下内容,我会很高兴:
$('div').bind('rightclick', function(){
alert('right mouse button is pressed');
});
Run Code Online (Sandbox Code Playgroud) 背景:我正在创建一个让人联想到whenisgood.net的表,因为它具有click-n-drag切换表元素.当左,中,右鼠标按钮激活mousedown事件时,我想调用不同类型的切换代码.
通过使用JQuery,我有一个良好的开端.
$(".togglable").bind("contextmenu", function() {return false;});
$(".togglable").bind("mousedown", function(e){
e.preventDefault();
toggle(this, e);
});
Run Code Online (Sandbox Code Playgroud)
在toggle()我可以e.which用来确定点击了什么按钮的函数中.
妙语:我用e.preventDefault()希望将停止滚动的中间点击默认行为.它没有.我该怎么做才能阻止滚动动作激活?
我的Chrome扩展程序中有这些代码,因此我可以将其<div href="url">用作链接.这曾经如预期的那样工作直到最近.(左 - 在当前选项卡中打开,中间 - 在新选项卡中打开).现在它只记录左键点击.
$('div.clickable-href').on('click', function(e) {
switch(e.which) {
case 1:
window.location = $(this).attr('href');
break;
case 2:
window.open($(this).attr('href'));
break;
case 3:
break;
}
});
Run Code Online (Sandbox Code Playgroud)
我使用<div href="url">和<span href="url">链接,因此浏览器不显示状态栏.
我发现了一些类似的问题,但所有答案都建议使用.on('mousedown', (e) => {...}).我只需要在mousedown事件后跟一个mouseup事件时触发此事件.
更令人沮丧的是,这曾经起作用,但它不再这样做了.
编辑:
这是Chrome 55的一个问题.在Linux上(我第一次注意到异常)Chrome已经更新到v55.在我的Windows系统上,它是v54,中间点击正在运行.从54更新到55导致了同样的问题.
我正在尝试找到一种方法来禁用鼠标滚轮按钮的默认操作,即在新选项卡中打开链接.
那可能吗?
假设我们有这个模板:
<div class="myClass" (click)="doSomething($event)">
Run Code Online (Sandbox Code Playgroud)
soSomething不会在中间点击时调用。我怎么解决这个问题?
嗨,我正在研究一个系统,我想让系统更容易使用.我在页面上有几个表单,每个表格都有很大的表格.我不擅长JS所以任何建议都会受到赞赏.提前10倍!