Как вызвать функцию после ее определения?(Javascript) - PullRequest
0 голосов
/ 19 августа 2011

Как вызвать функцию B изнутри A?

Функция B имеет элементы из A.

Это дает мне неопределенную ошибку функции.

    this.field = new Ext.form.TwinTriggerField( {
        width : this.width,
        selectOnFocus : undefined === this.selectOnFocus ? true
                : this.selectOnFocus,
        trigger1Class : 'x-form-clear-trigger',
        trigger2Class : this.minChars ? 'x-hidden'
                : 'x-form-search-trigger',
        onTrigger1Click : function() {
        this.setValue(''); 
        this.focus();

        this.Search(); // <----- error, this.Search is not defined

        },
        onTrigger2Click : this.onTriggerSearch.createDelegate(this),
        minLength : this.minLength
    });

    function Search() {
       var length = this.field.getValue().toString().length;

       if (0 === length || this.minChars <= length) {
            caller = this;          
            this.triggerCount++;
            this.grid.store.proxy.getConnection().abort(); 
            setTimeout("caller.onTriggerSearch()",this.triggerDelay);   
       }
    }

это говорит о том, что this не определено

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Что такое «это» в вашем текущем контексте?Поиск, вероятно, не определен в этом контексте.Вы должны просто использовать Search().Однако вам необходимо передать объект в функцию поиска.

Редактировать: Кроме того, вы ничего не передаете в функцию поиска, поэтому «this» не существует.

1 голос
/ 19 августа 2011
function a(){
    var el1=document.body;
    var el2=document.body.innerHTML;
    b(el1,el2);
}

function b(num1, num2){
   alert(num1.length);
   alert(num2.length);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...