Почему событие 'onpaste' не работает в Iframe с designmode="on"?

В FireFox я использую это, и оно работает правильно,

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

где iFramWin=$("id").contentWindow;

и в IE,

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

где iFramDoc =$("id").contentWindow.document;

1 ответ

Решение

В MSIE нет никакого события 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>
Другие вопросы по тегам