1

我需要突出显示文本区域中的部分文本。我已经看到它是用 jquery 完成的,但我不能使用 jquery,因为我正在开发的应用程序已经使用了 extjs(textarea 只是应用程序的一小部分)。这是 jquery 示例的链接:http: //www.strangeplanet.fr/work/jquery-highlighttextarea/我正在使用 extjs 2.3.0

message 是 Extjs Textarea,我正在尝试突出显示文本。

var message = new Ext.form.TextArea({
        hideLabel: true,
        id: 'smshl',
        name       : 'smshl',
        emptyText: 'enter message here',
        anchor: '90%',
        allowBlank: false,
        style:'overflow:hidden;style:margin:15px;',
        height: 90,
        minLength: 1,
        minLengthText: 'You cannot send a blank text',
        maxLength: userObj.smsLength,
        maxLengthText: 'Sorry, Maximum length of message exceeded',
        preventScrollbars: true,
        enableKeyEvents: true,
        listeners:{
            keyup: function() {
                this.highlightTextarea({
                    words: ["first word","another word"]
                });
            }
        }
    })
4

1 回答 1

1

我终于想通了,要使我在问题中发布的代码起作用,我所要做的就是替换this.highlightTextarea with jQuery('#'+this.getId()).highlightTextarea

所以代码变成了:

var message = new Ext.form.TextArea({
        hideLabel: true,
        id: 'smshl',
        name       : 'smshl',
        emptyText: 'enter message here',
        anchor: '90%',
        allowBlank: false,
        style:'overflow:hidden;style:margin:15px;',
        height: 90,
        minLength: 1,
        minLengthText: 'You cannot send a blank text',
        maxLength: userObj.smsLength,
        maxLengthText: 'Sorry, Maximum length of message exceeded',
        preventScrollbars: true,
        enableKeyEvents: true,
        listeners:{
            keyup: function() {
                jQuery('#'+this.getId()).highlightTextarea.highlightTextarea({
                    words: ["first word","another word"]
                });
            }
        }
    })
于 2013-02-15T18:18:35.337 回答