点击事件监听器在Safari工作在OSX但不是在iOS版(Click event listener

2019-07-17 14:55发布

我正在一个web应用程序,我想点击一个元素,以及如何在一个长的单击事件处理程序的点击。 我在Safari测试。 下面的作品在Safari罚款我的Mac上而不是在iOS设备上:

<html>
    <head>
        <script>
            window.addEventListener("click",function (event) {
                alert('hi');
            });
        </script>
    </head>
    <body>
        <div style="width: 100%; height: 100%; background: black;">
        </div>
    </body>
</html>

为什么这项工作在Safari的OSX版本,但不是在iOS的?

Answer 1:

此代码应工作的跨浏览器:

function Subscribe(event, element, func) {
    if (element.addEventListener) {
        element.addEventListener(event, func, false);
    } else if (element.attachEvent) {
        element.attachEvent("on" + event, func);
    } else {
        element['on' + event] = func;
    }
}

function func () {
    alert('hi');
}

Subscribe('click', window, func);


Answer 2:

尝试改变事件监听器“点击”“点击touchstart”



Answer 3:

我发现了一个很简单的解决方案。 我把有关的div元素另一格在我的示例代码(见上面我的问题)。 开幕div标签是

<div onClick="">

这个div标签内的所有div现在将触发click事件。 这也适用于touchstart。



文章来源: Click event listener works in Safari in OSX but not in iOS