Почему событие «onpaste» не работает в Iframe с designmode = «on»? - PullRequest
1 голос
/ 20 декабря 2010

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

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

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

, а в IE

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

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

1 Ответ

3 голосов
/ 20 декабря 2010

В MSIE событие-вставка не применяется к документу , вместо этого наблюдайте за вставкой 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>
...