iOS9.3与Jquery的兼容问题

  1. 问题,在iOS9的微信浏览器上不能执行使用Jquery写的方法。

  2. 相关代码如下。

HTML:

<span class="button cancle" id="cancle_button" style="cursor: pointer">继续答题</span>

<span class="button submit" id="submit_button" style="cursor: pointer">交卷</span>

js:


/**

 *继续答题

 */

$("#cancle_button").click(function(){

    alert("点击了一下");

});


/**

 *交卷

 */

$("#submit_button").click(function(){

    submitExam();

});


//提交试卷的方法

function submitExam() {

    var hadAnswer = 0;

    var examMap = new Map();

    var ids = $(".exam-item");

    $(ids).each(function (i) {

        var queId = $(ids[i]).data('id');

        var ans = $(ids[i]).children('.exam-ans').children('.ans-item');

        $(ans).each(function (j) {

            var answerRef = $(ans[j]).children('i');

            examMap.set(queId,"");

            if($(answerRef).hasClass('true')){

                examMap.set(queId,answerRef.attr('ref'));

                return false;

            }

        });

    });

    $("#examMap").val(JSON.stringify(strMapToObj(examMap)));

    $("#examFrom").submit();

}

function strMapToObj(strMap) {

    let obj = Object.create(null);

    for (let [k,v] of strMap) {

        obj[k] = v;

    }

    return obj;

}

设备是iPhone 5s(iOS9.3),其他手机都可以,就这个版本点了提交之后没有任何反应,最后我将问题定位到了提交试卷的那个方法上,应该是这个方法里面的一些语法不能在iOS9上面识别,或者说是jquery版本(2.1.1)的问题,大家帮忙看看这个方法存在哪些问题,本人写后台的,js确实力不从心。


MM们
浏览 505回答 2
2回答

饮歌长啸

你可以用babel对代码进行编译,把新语法转成旧语法(同时引入polyfill)

繁华开满天机

ios 9.3不支持es6语法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript