猿问

JS 字面量面向对象访问报not a function

var page={    init:function(){        this.initEvents()
    },    bindEvent: function (target, type, name) {
        $(target).bind(type, function (e) {
            e.preventDefault();
            name(e)
            })
    },    initEvents: function () {        this.bindEvent('.pic-egg1', 'click', this.showDiag)        this.bindEvent('.pic-egg2', 'click', this.showDiag)
    },    showDiag: function () {        this.hideDiag()
    },    hideDiag:function(){        console.log('出不来')
    }
}

控制器报这个错误

hideDiag is not a function


米琪卡哇伊
浏览 430回答 1
1回答

白猪掌柜的

$('#foo').bind(event, eventHandler) 中的 eventHandler 指向 #foo 选择器代表的 dom 元素本身,所以就会出现 xx is not function 的错误了。要解决的话,很简单啊,使用 bind、apply 或者 call 绑定方法至 page 对象即可。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答