Javascript 为什么可以';我不能在iOS上禁用输入或按钮元素吗?

Javascript 为什么可以';我不能在iOS上禁用输入或按钮元素吗?,javascript,safari,Javascript,Safari,考虑下面的代码片段,它简单地禁用了网页上的所有按钮: <script> var inputs = document.getElementsByTagName('button'); for (var i = 0; i < inputs.length; i++) { inputs[i].disabled = true; } var seconds = 0; setInterval(calculateSeconds,

考虑下面的代码片段,它简单地禁用了网页上的所有按钮:

<script>
    var inputs = document.getElementsByTagName('button');
    for (var i = 0; i < inputs.length; i++) {
            inputs[i].disabled = true;
    }

    var seconds = 0;
    setInterval(calculateSeconds, 1000);
    function calculateSeconds()
    {
        seconds += 1;
        if(seconds > 5)
        {
            var inputs = document.getElementsByTagName("button");
            for (var i = 0; i < inputs.length; i++) {
                inputs[i].disabled = false;
            }
        }
    }
</script>

var inputs=document.getElementsByTagName('button');
对于(变量i=0;i5)
{
var inputs=document.getElementsByTagName(“按钮”);
对于(变量i=0;i
除了这不是一段真正酷、写得好或有目的的代码之外,它应该可以在Windows桌面和Android上的所有浏览器上运行,除了在iOS上运行的浏览器;我用Chrome和Safari在iPhone上测试了这个功能,但它不起作用。我找不到原因,没有一种语法是不推荐或不受支持的,根据。这快把我逼疯了。我正在测试的网站上没有使用CSS。它不适用于
标记,也不适用于
标记,也不适用于
标记


是否有人有任何提示、资源或指针来说明为什么这在iOS设备上不起作用

可能再次尝试使用输入而不是按钮,但不是直接设置属性,而是使用
removeAttr(“disabled”)
而不是将其设置为false,并使用
inputs[i]。setAttribute(“disabled”、“disabled”)
而不是
。disabled=true

当我在谷歌上搜索禁用按钮的ios时,我看到一些帖子提到了safari和
的问题,所以可能有问题


也有很多关于

的讨论,可能再次尝试使用输入而不是按钮,但不是直接设置属性,而是使用
removeAttr(“disabled”)
而不是将其设置为false,并使用
输入[i]。setAttribute(“disabled”、“disabled”)
而不是
。disabled=true

当我在谷歌上搜索禁用按钮的ios时,我看到一些帖子提到了safari和
的问题,所以可能有问题


还有很多关于

的讨论,谢谢!你能解释一下为什么直接设置属性不起作用吗?我还没有找到任何文档说明为什么会这样,只是根据我的经验,在一些只想使用当前标准的浏览器中,这些东西可能会过时-关于disabled=“disabled”有很多混淆作为独立属性禁用,并且.disabled=false等-例如,这里谢谢!你能解释一下为什么直接设置属性不起作用吗?我还没有找到任何文档说明为什么会这样,只是根据我的经验,在一些只想使用当前标准的浏览器中,这些东西可能会过时-关于disabled=“disabled”有很多混淆作为独立属性禁用,并且.disabled=false等-例如