点击事件在iPad上不起作用,但在台式机和移动设备上起作用

时间:2019-07-11 23:44:32

标签: javascript jquery dom-events

我正在尝试创建简单的JavaScript代码。我有两个带有图像的按钮,这些图像用作单选按钮,可以在两个选项之间进行切换。一切都能在最流行的设备上运行:Android + Chrome,Desktop + Chrome和iPhone + Safari。但是,当我单击我的iPad + Chrome或iPad + Safari时...什么也没发生。而且,这并不是第一次onclick和类似事件/触发器不起作用。

我已经尝试了诸如on()之类的不同事件,这些事件具有不同的选项,例如“ click”,“ tap”,“ touchstart”以及它们的组合,bind()window.onclick,{{1 }}等。它们都可以在我上面描述的所有平台上使用。但不是iPad。我也尝试过类似“将onclick =“添加到元素的html代码”,“添加css属性光标:指针”之类的建议。这是我现在正在使用的代码:

addEventListener
window.onload = function () {
    $(document).on('click', 'button.png-option', function () {
        checkIt()
    });
};
<button class="png-option" type="button" id="sms-web" onclick="">
                <img src="{{ url_for('static', filename='web.png') }}" class="medium-png active" id="web">
            </button>

这不是我第一次遇到这个问题。我从事的最后一个项目也遇到了同样的问题。而且我没有找到任何可行的解决方案。

1 个答案:

答案 0 :(得分:1)

将iPad连接到Mac机器,然后检查可单击区域。有时,clickable(tap)区域可能不在正确的位置,或者区域处于折叠状态,例如0宽度或0高度。在可点击区域上方还有另一个不可见层的可能性。如果不连接到Mac机器,则很难调试。单击事件应触发触摸或点击事件,否则不会失败。