J'écris un simple éditeur dans un iframe, mais ayant du mal à enregistrer l'événement « oninput » pour détecter lorsque l'utilisateur modifie le champ de texte tel que le collage des données etc.éditeur simple iframe et oninput événement
var txtArea =
document.getElementById('txtArea');
txtArea.contentWindow.document.designMode="on";
txtArea.contentWindow.document.open();
txtArea.contentWindow.document.write("<head><style
type='text/css'>body{font-size:13px;}</style></head><body>"+data.document+"</body>");
txtArea.contentWindow.document.close();
$([txtArea.contentWindow.document]).bind("click",
updateCaretPosMouse); //fires
$([txtArea.contentWindow.document]).bind("keyup",
updateCaretPosKeyboard); //fires
$([txtArea.contentWindow.document]).bind("input",
textChanged); //doesn't fire
Si je crée un élément textarea simple et que j'y ajoute l'événement "input", alors cela fonctionne. Est-ce que les événements « d'entrée » fonctionnent pas avec les zones de texte iframe?
non, je dois détecter les événements coller. –
Cet événement s semble être nouveau dans la spécification HTML5, mais Firefox et Chome le supportent déjà. http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#common-event-behaviors –
@teehoo il est bien possible que IE8 ne le fasse pas (et assez sûr que IE6 et IE7 ne le font pas). Mais pour détecter les événements de collage, je me souviens qu'il y a eu d'excellentes discussions à ce sujet sur le SO. Je ne peux pas faire la recherche en ce moment (besoin de retourner au travail), mais une recherche de "détecter coller javascript" pourrait faire l'affaire. –