为什么'onpaste'事件在iframe中使用designmode =“on”不起作用?

时间:2010-12-20 07:14:21

标签: javascript iframe prototypejs onpaste

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

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

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

,在IE中,

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

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

1 个答案:

答案 0 :(得分:3)

在MSIE中,没有适用于document的onpaste事件,请观察 document.body 的内容。

示例应该适用于两种浏览器(也都是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>