Как добавить событие onpaste в кадре в IE с помощью JavaScript? - PullRequest
1 голос
/ 07 декабря 2010

Я хочу обработать событие вставки после щелчка вправо и выбора Вставить в IE. В качестве примера я сделал это:

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

и все работает нормально. Но когда я добавляю «onpaste» вместо «onclick», это не работает. Также я использую JavaScript, а не JQuery.

Кто-нибудь имеет представление о том, как это может работать?

Спасибо

Ответы [ 3 ]

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

Вам нужно прикрепить обработчик события к элементу <body>, а не к документу, потому что событие paste не будет всплывать за элементом <body> в IE.Например:

parent.document.frames["myframe"].document.body.attachEvent('onpaste', function(e) {
    alert("paste");
});
2 голосов
/ 18 февраля 2011

@ novellino видя, что у меня не было достаточно представителей, чтобы оставить комментарий к ответу Тимса, я должен сделать это здесь.Это использует jQuery (чтение ваш комментарий выглядит так, как будто вы его используете в любом случае):

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

Это работает как в IE, так и в FF, ох и хром.

Iтоже использовал "$(window).bind('paste', function(e){})", но, как говорит Тим:

"событие вставки не всплывет после элемента <body> в IE"

.код, который я прикрепил, который работал для меня.

Надеюсь, это поможет ... Al

0 голосов
/ 07 декабря 2010

Возможно, вы захотите проверить эту демонстрацию на quirskmode.org о том, как это сделать.

...