javascript - ios addEventListener 不工作

标签 javascript ios ecmascript-6 addeventlistener arrow-functions

为什么这个按钮在 ios 上不起作用?它在桌面和安卓上运行良好。如果 clickHandler 被定义为常规函数,它可以在 ios 上运行。

http://codepen.io/CalebEverett/pen/RRmYgx

<html>
    <head>
        <style>
            button {
                width: 150px;
                height 50px;
             }
        </style>
    </head>
    <body>
        <div id="testdiv">it doesn't work</div>
        <button id="do">Button</button>
    </body>
    <script>
        const clickHandler = () => {
            document.getElementById("testdiv").innerHTML = "it works!"
        }
        document.getElementById("do").addEventListener("click", clickHandler, false);
    </script>
<html>

最佳答案

您正在使用 arrow function ,这是 ES6 的一项功能。

对 ES6 的一般支持和具体的箭头函数支持尚未广泛普及,并且仅限于某些浏览器的最新版本。具体来说,Safari 在桌面版 (Mac) 或移动版 (iOS) 上都不支持箭头功能,但许多其他浏览器也会出现同样的问题(包括旧版 Android 浏览器、IE 等)。

您必须将 ES6 代码转换为更广泛支持的代码,或者坚持使用更标准的 Javascript。

关于javascript - ios addEventListener 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39103829/

相关文章:

javascript - 重新定义 JSSOR 的导航键?

javascript - 在 ng-if 中设置监视元素

ecmascript-6 - ES6 中的类声明和类表达式

javascript - Node 14 : Import modules using an absolute path for native ES6 module

javascript - 使用jQuery将span内容替换为字段值

javascript - 显示包含日期和其他记录的表

ios - 如何更新标签而不是覆盖?

ios - getInitialLink 不工作,但 onLink 在react-native-firebase v6 中工作

iphone - 为什么我不能将子 Pane plist 文件添加到项目的 Settings.bundle 中?

javascript - 查找对象的 super 嵌套数组的位置