iOS Safari javascript递归不起作用

时间:2017-08-01 09:00:24

标签: javascript jquery mobile-safari

我已编写以下代码但发现click.intro-mask事件未在iOS Safari中正确注册。我怀疑这是因为setTimeout函数在底部的第二行中的递归,但我不确定。有人可以帮我这个吗?为什么点击事件不起作用?

 function init(cbs) {
    _cbs = cbs;
    var mask = $('<div class="intro-mask"></div>');
    $(document.body).append(mask);
    showIntro();
 }


 function showIntro() {
    console.log('showIntro');
    $(document.body).off('click.intro-mask');
    if (_stage == 6) {
        goFavorstockPage();
    } else {
        var id = 'intro-stage-' + _stage;
        if (_stage) {
            console.log('if _stage:', _stage, '_cbs[_stage]()');
            _cbs[_stage]();
        }
        $('.intro-mask').html('');
        $('.intro-mask').append(introImgTpl({
            imgId: id,
            imgUrl: '/wx/img/' + id + '.png'
        }));
        $('.' + id).load(function() {
          $('.' + id).css({
            "opacity": 1
          });
        });
        setTimeout(function() {
            _stage += 1;
            console.log('in set time out')
            $(document.body).on('click.intro-mask', '.intro-mask', showIntro);
        }, 100);
    }
}

0 个答案:

没有答案