1

テキストエリアのテキストの一部を強調表示する必要があります。私はそれがjqueryで行われるのを見てきましたが、私が取り組んでいるアプリはすでにextjsを使用しているため、jqueryを使用できません(textareaはアプリのほんの一部です)。これはjqueryサンプルへのリンクです:http://www.strangeplanet.fr/work/jquery-highlighttextarea/私はextjs2.3.0を使用しています

メッセージはExtjsTextareaです。でテキストを強調表示しようとしています。

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 に答える