繁体   English   中英

点击事件侦听器可在OSX的Safari中使用,但不适用于iOS

[英]Click event listener works in Safari in OSX but not in iOS

我正在制作一个Web应用程序,我想单击一个元素并在一个长单击事件处理程序中处理单击。 我正在Safari中测试。 以下内容在Mac上的Safari中可以正常运行,但在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>

为什么这在OSX版本的Safari中有效但在iOS中无效?

此代码应跨浏览器工作:

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);

尝试将事件侦听器“单击”更改为“单击touchstart”

我找到了一个非常简单的解决方案。 我在示例代码中添加了另一个与div元素有关的div(请参见上面的问题)。 开头的div标签是

<div onClick="">

现在,此div标签中的所有div都将触发click事件。 这也适用于touchstart。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM