2010-12-07 3 views
1

Я хочу обработать событие вставки после нажатия правой кнопки мыши и выбрать «Вставить в IE». В качестве примера я сделал следующее:Как добавить событие onpaste в фрейме в IE с javascript?

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

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

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

Благодаря

+0

FYI, Opera не поддерживает `onpaste` но он поддерживает` oninput` (который будет срабатывать, когда пользователь вставляет, среди других форм ввода). – 2011-02-18 15:01:14

ответ

3

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

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

Я пробовал этот, но все еще не работает! – novellino 2010-12-07 16:41:16

2

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

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

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

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

«событие паста не будет пузыриться за <body> элемента в IE»

Therfore попробовать код я прикрепленную, это сработало для меня.

Надежда, что помогает ... Al

 Смежные вопросы

  • Нет связанных вопросов^_^