gpt4 book ai didi

javascript - 仅在右键单击后才可以拦截 div 上的粘贴操作

转载 作者:行者123 更新时间:2023-12-03 04:20:03 25 4
gpt4 key购买 nike

我正在开发一个项目,其中我需要拦截正在 div 上执行的粘贴操作(必须是 div,不能是文本框)。现在,我在 div 获得焦点后绑定(bind)事件(您单击了 div):

$('#result').unbind().click(function () {
$(this).focus();
$('#result').unbind().on('paste', function () {
console.log('paste behaviour detected!');
});
}); //NOTE: I have also tried. result.bind, result.unbind.bind, onpast="function()"
//(in the HTML), and a couple of other things.

我也尝试过改变类(class)的流程(没有改变)。

还有一件事。我正在使用 chrome/opera 进行开发。当我在 Firefox 上测试它时,效果很好。我可以尝试解决这个问题吗?还是我偶然发现了一个错误?

注意:为了简单起见,我省略了有关该项目的信息,但如果您需要更多背景信息,我可以提供。

编辑:我正在粘贴到 div,因此没有右键单击>粘贴按钮。这只能通过 ctrl+v 来实现。

最佳答案

您还可以检测 ctrl/cmd + v 键的组合:

$(document).ready(function() {
var ctrlDown = false,
ctrlKey = 17,
cmdKey = 91,
vKey = 86;

$(document).keydown(function(e) {
if (e.keyCode == ctrlKey || e.keyCode == cmdKey) {
ctrlDown = true;
}
}).keyup(function(e) {
if (e.keyCode == ctrlKey || e.keyCode == cmdKey) {
ctrlDown = false;
}
});

$(document).keydown(function(e) {
if (ctrlDown && e.keyCode == vKey) {
alert('PASTE DETECTED');
}
});
});
});

https://jsfiddle.net/ufskbo0a/1/

您可以在大多数浏览器中使用clipboardData api来获取数据:window.clipboardData.getData('Text')

http://caniuse.com/#search=clipboardData

关于javascript - 仅在右键单击后才可以拦截 div 上的粘贴操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43990576/

25 4 0
文章推荐: javascript - 在postman中创建常用函数或包含js文件?
文章推荐: javascript - Acrobat JavaScript mailDoc 操作失败
文章推荐: javascript - 如何在给定值和