Как добавить событие onpaste в кадре в IE с помощью JavaScript?
Я хочу обработать событие вставки после нажатия вправо и выберите Вставить в IE. В качестве примера я сделал это:
parent.document.frames["myframe"].document.attachEvent('onclick', function(e) {
alert("paste");
});
и это работает нормально. Но когда я добавляю "onpaste" вместо "onclick", это не работает. Также я использую JavaScript, а не JQuery.
Кто-нибудь имеет представление о том, как это может работать?
Спасибо
3 ответа
Вам необходимо прикрепить обработчик событий к <body>
элемент, а не документ, потому что paste
событие не всплывет за пределы <body>
элемент в IE. Например:
parent.document.frames["myframe"].document.body.attachEvent('onpaste', function(e) {
alert("paste");
});
@novellino видя, что у меня нет достаточно представителей, чтобы оставить комментарий к ответу Тимса, я должен сделать это здесь. Это использует jQuery (чтение вашего комментария выглядит так, как будто вы его используете):
$("#iframeid").contents().find("body").bind('paste', function() {
// Your code here...
});
Это работает как в IE, так и в FF, о и хром.
Я тоже пользовалась$(window).bind('paste', function(e){})
"Но, как говорит Тим:
"Вставить событие не будет пузыриться за
<body>
элемент в IE"
Поэтому попробуйте код, который я прикрепил, который работал для меня.
Надеюсь, это поможет... Ал
Вы можете проверить это демо на quirskmode.org о том, как это сделать.