为了账号安全,请及时绑定邮箱和手机立即绑定

关于bind函数

为什么bind中的回调函数不使用简写就没有效果呢?而且也没有报错(使用箭头函数是没有问题的)
componentDidMount(){
        $('#player').jPlayer({
            ready: function () {
                $(this).jPlayer('setMedia', {
                    mp3 : 'http://oj4t8z2d5.bkt.clouddn.com/%E9%AD%94%E9%AC%BC%E4%B8%AD%E7%9A%84%E5%A4%A9%E4%BD%BF.mp3'
                }).jPlayer('play');
            },
            supplied: 'mp3',
            wmode: 'window'
        });
        //绑定监听事件
        $('#player').bind($.jPlayer.event.timeupdate,function(e){
            this.setState({
                progress : Math.round(e.jPlayer.status.currentTime)
            });
        });
    }


正在回答

1 回答

function函数改变了this指向,而es6写法未改变,你可以分别打印出来看看this是什么:console.log(this)

0 回复 有任何疑惑可以回复我~
#1

郭小新 提问者

了解 谢谢
2018-03-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
使用React构建一款音乐播放器
  • 参与学习       26502    人
  • 解答问题       149    个

从零开始使用React构建一款音乐播放器

进入课程

关于bind函数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信