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确实力不从心。

阅读 4.1k
2 个回答

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

新手上路,请多包涵

ios 9.3不支持es6语法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题