【问题标题】:jHtmlArea event handling of keypressjHtmlArea 按键的事件处理
【发布时间】:2010-02-10 00:26:05
【问题描述】:

我目前正在开发一个文本到符号转换工具(非营利),我遇到了这个问题:

对于文本的所见即所得编辑,我想使用一个不错的小型所见即所得编辑器(如 jHtmlArea)。这个编辑器会显示浮动 div,所以我必须拦截很多按键(空格/箭头/等)

目前,我的 html 区域是这样加载的:

<script type="text/javascript">    
$(function() {
            $("#txtCustomHtmlArea").htmlarea({
                 loaded: function() {
                 $(this.editor).keydown(function(event) { 
                     if(event.keyCode == 32) {
                         this.pasteHTML('<b>test</b>');
                         return false;
                     }

                     return true;
                });
            }

这段代码的问题在于 this.editor 没有 pasteHTML 方法。如何从 this(=htmlarea).event 使用此方法?

这很可能是一个相当初学者的问题,但我真的不知道在哪里看。

谢谢

【问题讨论】:

    标签: javascript jquery jhtmlarea


    【解决方案1】:

    我是这样做的:

        $("#my-text-area").htmlarea({
            loaded: function () {
                $.myControl = { jhtmlarea: this };
            }
        });
    

    那我可以参考一下:

    $($.myControl.jhtmlarea.editor.body).keypress(function (e) { });
    

    这也为我提供了从 iFrame 外部处理我的 html 区域对象的句柄。

    【讨论】:

      【解决方案2】:

      我认为您可能对“this”的使用感到困惑(我肯定在努力跟踪它所指的内容!)。

      作为测试,能不能换个

      this.pasteHTML(...)
      

      与

      $("#txtCustomHtmlArea").pasteHTML(...)
      

      或许

      $("#txtCustomHtmlArea").editor.pasteHTML(...)
      

      看看有没有帮助?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-04
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多