1

我想在单击右键并选择在 IE 中粘贴后处理粘贴事件。作为一个例子,我这​​样做了:

 parent.document.frames["myframe"].document.attachEvent('onclick', function(e) {
      alert("paste");
});

它工作正常。但是当我添加“onpaste”而不是“onclick”时,它不起作用。另外我使用的是javascript而不是jquery。

有谁知道这是如何工作的?

谢谢

4

3 回答 3

3

您需要将事件处理程序附加到<body>元素而不是文档,因为paste事件不会冒泡到<body>IE 中的元素之外。例如:

parent.document.frames["myframe"].document.body.attachEvent('onpaste', function(e) {
    alert("paste");
});
于 2010-12-07T16:29:13.963 回答
2

@novellino 看到我没有足够的代表对 Tims 的答案发表评论,我不得不在这里做。这是使用 jQuery(阅读您的评论看起来就像您在使用它):

$("#iframeid").contents().find("body").bind('paste', function() {
  // Your code here...
});

这适用于 IE 和 FF,哦和 chrome。

我也在使用 " $(window).bind('paste', function(e){})" 但正如蒂姆所说:

“粘贴事件不会超出<body>IE 中的元素”

因此尝试我附加的代码,这对我有用。

希望对您有所帮助... 阿尔

于 2011-02-18T14:58:07.757 回答
0

您可能想在 quirskmode.org上查看此演示,了解如何执行此操作。

于 2010-12-07T15:51:48.240 回答