按键的jHtmlArea事件处理

时间:2010-02-10 00:26:05

标签: javascript jquery jhtmlarea

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

对于WYSIWYG编辑的文本,我想使用一个漂亮的小wysiwyg编辑器(如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方法。我如何使用此方法(= htmlarea).event?

这很可能是一个相当初学的问题,但我真的对于在哪里看起来毫无头绪。

谢谢

2 个答案:

答案 0 :(得分:1)

我是这样做的:

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

然后我可以参考:

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

这也让我可以从iFrame外面找到我的html区域对象。

答案 1 :(得分:0)

我认为你可能会对使用'this'感到困惑(我肯定很难跟踪它的含义!)。

作为测试,您可以替换

this.pasteHTML(...)

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

或者

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

看看是否有帮助?