在FireFox中,我使用了它,它可以正常工作,

Event.observe(iFramWin,"paste",tableAlignmentFix);


其中iFramWin=$("id").contentWindow;

在IE中

Event.observe(iFramDoc,"paste",tableAlignmentFix);


其中iFramDoc =$("id").contentWindow.document;

最佳答案

在MSIE中,没有将onpaste-event应用于document,而是观察document.body的onpaste。

示例应在两种浏览器(也可以是webkit)中运行:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js"></script>
<script>
function tableAlignmentFix()
{
  alert("tableAlignmentFix:you've pasted something");
}

function init(o)
{
  var doc=o.contentWindow.document;
  if(doc.getElementsByTagName('body').length)
  {
    Event.observe(doc.body,"paste",tableAlignmentFix);
    doc.designMode='on';
  }
}

</script>
<iframe onload="init(this);" src="about:blank" width="200" height"200"></iframe>

关于javascript - 为什么在designmode =“on”的iframe中“onpaste”事件不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4487598/

10-09 20:47