jquery iframe事件与mozilla一起工作?

时间:2014-12-10 11:11:23

标签: javascript jquery wysihtml5

我使用html5所见即所得的编辑器。编辑器加载dinamically iframe,我想在此编辑器上监视keydown事件。

加载的iframe看起来像那样:

<iframe class="wysihtml5-sandbox" security="restricted" allowtransparency="true">
<html>
  <head><meta charset="UTF-8"></head>
   <body marginwidth="0" marginheight="0" id="descriptionkb" contenteditable="true" 
    class="form-     control editor wysihtml5-editor" spellcheck="true" 
   style="color: rgb(85, 85, 85); cursor: auto; font-family: Arial, Helvetica, sans-serif;
    font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal;
      line-height: 20px; letter-spacing: normal; text-align: start; text-decoration: none; 
    text-indent: 0px; text-rendering: auto; word-break: normal; word-wrap: break-word; 
     word-spacing: 0px; background-color: rgb(255, 255, 255);">
           <span id="_wysihtml5-undo" class="_wysihtml5-temp"></span>
    </body>
</html>
</iframe>

我要监控keydown事件的方法是:

$('iframe.wysihtml5-sandbox').contents().on('keydown', '#descriptionkb', function(e){ 
        // execute code  on keydown event
  });

这适用于chrome和IE,但不适用于mozilla。我尝试了不同的方式来访问事件,但没有一个在mozilla中工作。哪里错了?

1 个答案:

答案 0 :(得分:1)

引自https://github.com/xing/wysihtml5/wiki/Events

  

确保在注册之前完全加载了wysihtml iframe   这样的事件,否则结果可能因浏览器而异。单程   确保iframe完全加载是为了定义函数   以上作为编辑器“加载”功能的回调。