javascript - jquery官网 - jquery.js下载



如何使用JavaScript检测鼠标右键+粘贴? (5)

你可以尝试的廉价黑客(有效):

  • jQuery的mouseleave功能。

我已经注意到IE8,如果右键单击文本框然后选择“粘贴”,它会延迟“mouseleave”事件,直到粘贴完成。 所以它在粘贴后一直闪现! :)为我工作,实际上让我彻底摆脱了麻烦。

这仅适用于Intranet应用程序,我还没有在Firefox等测试过。

干杯

https://ffff65535.com

有没有办法检测右键点击,然后在IE和Firefox上粘贴JavaScript?

更新:

我决定用Jquery来做:

$('#controlId').bind('paste', null, function() {
    // code
});

这不完全是我所看到的(因为它被'ctrl + v'以及'右键单击+粘贴'解雇但我可以解决它。

在Chrome,Firefox 3,IE 7和IE 6上进行了测试,它正在运行


使用setTimeout() ,设置小超时直到.val()func可以填充。

$(document).on('paste blur keyup', '#controlId', function(event) {
    var element = $(event.target);
    setTimeout(function() {
        var text = $(element).val();
        // do something with text
    }, 100);
});

来源: 抓住粘贴输入


我做了以下只在mouseup上触发:

onmouseup="jQuery(this).on('paste',function(event){setTimeout(function(){alert('Paste detected!');},100);});"

我喜欢这个解决方案:

$('#txt_field').bind('input propertychange', function() {
   console.log($(this).val());
});

$('#controlId').bind('paste', null, function(e) {
    if(!e.keyCode){
       /*
          since no key was down at the time of the event we can assume it was
          from the toolbar or right click menu, and not a ctrl+v
       */
    }
});




jquery