我想在单击右键并选择在 IE 中粘贴后处理粘贴事件。作为一个例子,我这样做了:
parent.document.frames["myframe"].document.attachEvent('onclick', function(e) {
alert("paste");
});
它工作正常。但是当我添加“onpaste”而不是“onclick”时,它不起作用。另外我使用的是javascript而不是jquery。
有谁知道这是如何工作的?
谢谢
我想在单击右键并选择在 IE 中粘贴后处理粘贴事件。作为一个例子,我这样做了:
parent.document.frames["myframe"].document.attachEvent('onclick', function(e) {
alert("paste");
});
它工作正常。但是当我添加“onpaste”而不是“onclick”时,它不起作用。另外我使用的是javascript而不是jquery。
有谁知道这是如何工作的?
谢谢
您需要将事件处理程序附加到<body>
元素而不是文档,因为paste
事件不会冒泡到<body>
IE 中的元素之外。例如:
parent.document.frames["myframe"].document.body.attachEvent('onpaste', function(e) {
alert("paste");
});
@novellino 看到我没有足够的代表对 Tims 的答案发表评论,我不得不在这里做。这是使用 jQuery(阅读您的评论看起来就像您在使用它):
$("#iframeid").contents().find("body").bind('paste', function() {
// Your code here...
});
这适用于 IE 和 FF,哦和 chrome。
我也在使用 " $(window).bind('paste', function(e){})
" 但正如蒂姆所说:
“粘贴事件不会超出
<body>
IE 中的元素”
因此尝试我附加的代码,这对我有用。
希望对您有所帮助... 阿尔
您可能想在 quirskmode.org上查看此演示,了解如何执行此操作。