3

鼠标中键将值粘贴到输入字段中。我想覆盖这个功能。这是可能的?我使用以下代码,但它不会阻止默认粘贴:

$('input').on('mouseup',function(e){
    //middle button is clicked
    if (e.which == 2)
    {
        e.preventDefault();

        $(this).val('another value');
    }
})
4

2 回答 2

0

您需要做的就是取消mousedown事件而不是mouseup.
这是一个现场演示:http: //jsfiddle.net/77En2/2/

于 2012-11-17T11:37:55.143 回答
0

事情发生了变化——现在情况正好相反。阻止 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 实现了这种行为。

于 2021-12-10T16:29:50.510 回答