背景:我正在创建一个让人联想到whenisgood.net的表,因为它具有click-n-drag切换表元素.当左,中,右鼠标按钮激活mousedown事件时,我想调用不同类型的切换代码.
通过使用JQuery,我有一个良好的开端.
$(".togglable").bind("contextmenu", function() {return false;}); $(".togglable").bind("mousedown", function(e){ e.preventDefault(); toggle(this, e); });
在toggle()
我可以e.which
用来确定点击了什么按钮的函数中.
妙语:我用e.preventDefault()希望将停止滚动的中间点击默认行为.它没有.我该怎么做才能阻止滚动动作激活?
另请参阅"使用中键单击触发onclick事件"
可以使用Javascript禁用中键单击,但仅限于IE,WebKit和Konquerer.Firefox需要配置文件编辑.这是2017年,firefox 50支持这一点.
这是一个老问题...但如果我正确理解它,你想通过鼠标中键点击禁用滚动.
如今,你可以用一行香草JS来做到这一点:
document.body.onmousedown = function(e) { if (e.button === 1) return false; }