淘汰点击绑定在iPad中不起作用

时间:2018-11-25 21:17:06

标签: javascript jquery knockout.js mobile-safari

我有一个像这样的简单按钮:

<button data-bind="click: login" type="button" class="btn btn-lg btn-primary">Log in</button>


ko.applyBindings({
    login: (viewModel, event) => {
        // this gets never called
    };
});

在我测试过的所有设备中,单击事件均正常运行。 iPad 9.3.5(iPad mini)除外

寻找答案,我发现以下解决方法:https://makandracards.com/makandra/34753-how-to-fix-ipad-does-not-trigger-click-event-on-some-elements

它对我不起作用。反正如何解决这个问题?

注意:jQuery click事件也不起作用。

1 个答案:

答案 0 :(得分:1)

您正在使用arrow functions,根据caniuse.com,从版本10开始,iOS Safari支持该功能。您可以将代码更改为以下内容:

ko.applyBindings({
    login: function(viewModel, event){
        // this gets never called
    };
});

,或者如果您的代码使用了更多ES6功能,则可以考虑对代码进行编译,例如使用babel或类似工具。