定义后如何调用函数? (JavaScript)的

时间:2011-08-19 14:53:28

标签: javascript function

如何从A内部调用功能B?

功能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 个答案:

答案 0 :(得分:1)

function a(){
    var el1=document.body;
    var el2=document.body.innerHTML;
    b(el1,el2);
}

function b(num1, num2){
   alert(num1.length);
   alert(num2.length);
}

答案 1 :(得分:1)

您目前的背景是什么'这个'?搜索可能未在该上下文中定义。你应该使用Search()。但是,您需要将对象传递给搜索功能。

修改 此外,您不会向搜索功能传递任何内容,因此“此”不存在。