鼠标中键将值粘贴到输入字段中。我想覆盖这个功能。这是可能的?我使用以下代码,但它不会阻止默认粘贴:
$('input').on('mouseup',function(e){
//middle button is clicked
if (e.which == 2)
{
e.preventDefault();
$(this).val('another value');
}
})
鼠标中键将值粘贴到输入字段中。我想覆盖这个功能。这是可能的?我使用以下代码,但它不会阻止默认粘贴:
$('input').on('mouseup',function(e){
//middle button is clicked
if (e.which == 2)
{
e.preventDefault();
$(this).val('another value');
}
})
您需要做的就是取消mousedown
事件而不是mouseup
.
这是一个现场演示:http: //jsfiddle.net/77En2/2/
事情发生了变化——现在情况正好相反。阻止 mousedown 或 pointerdown 不会阻止它。
2021年解决方案:
input.addEventListener('pointerup', (e) => {
if (e.button === 1) {
e.preventDefault();
}
});
或者
input.addEventListener('mouseup', (e) => {
if (e.button === 1) {
e.preventDefault();
}
});
这是一个更好的变化,因为粘贴发生在 MMB 发布之后。
顺便说一句,只有 Linux 实现了这种行为。