Javascript internet explorer 7上的粘贴事件和iframe出现问题

Javascript internet explorer 7上的粘贴事件和iframe出现问题,javascript,events,iframe,internet-explorer-7,paste,Javascript,Events,Iframe,Internet Explorer 7,Paste,我有一个WYSIWYG编辑器,基于JqueryRTE(code.google.com/p/lwrte),它使用iframe作为主要对象,并启用一些格式化方法。但我仍然需要清理粘贴的文本,因为用户倾向于粘贴MS Word或Openoffice.org文档中的格式化文本,而这种格式化的大部分不受支持。 我使用以下函数将“粘贴”事件附加到iframe文档: function bindEvent(el, eventName, eventHandler) { if

我有一个WYSIWYG编辑器,基于JqueryRTE(code.google.com/p/lwrte),它使用iframe作为主要对象,并启用一些格式化方法。但我仍然需要清理粘贴的文本,因为用户倾向于粘贴MS Word或Openoffice.org文档中的格式化文本,而这种格式化的大部分不受支持。 我使用以下函数将“粘贴”事件附加到iframe文档:

 function bindEvent(el, eventName, eventHandler) {
                    if (el.addEventListener) {
                        el.addEventListener(eventName, eventHandler, false);
                    } else if (el.attachEvent){
                        el.attachEvent('on' + eventName, eventHandler);
                    }
                }
并称之为:

bindEvent(iframe.contentWindow.document, 'paste', function () { cleanPastedText(); });
<html><head></head><body>here comes some text and some pasted text and other blahblah</body></html>
它在FF和最新的IE版本上运行良好,而我无法在IE7上调用事件处理程序。我用调试器研究了bindEvent,它执行attachEvent。我甚至尝试将处理程序绑定到主窗体,但仍然没有结果。你能告诉我,可能的原因是什么吗?如果文本粘贴到输入或文本区域以外的元素,是否有可能使用IE7捕获“粘贴”事件?事件是否可能在iframe子元素中的某个位置被激发,但不会传播到父节点?Iframe内部html大致如下所示:

bindEvent(iframe.contentWindow.document, 'paste', function () { cleanPastedText(); });
<html><head></head><body>here comes some text and some pasted text and other blahblah</body></html>
这里有一些文本和一些粘贴的文本以及其他的废话


我发现,窗口和文档对象不会在旧版本的IE( 此外,事件不会在iframe内部文档之外传播,因此,在我的例子中,我必须将事件侦听器分配给iframe文档的元素。生成的代码行:

bindEvent(iframe.contentWindow.document.getElementsByTagName("body")[0], 'paste', function () { cleanPastedText(); });
因为后者已经完成,它就像一个符咒。希望这个答案对其他SO用户有用