![](/img/trans.png)
[英]iOS Safari: 'click' event not triggerd when there is an event-listener on 'mousemove'
[英]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.