【问题标题】:Using click() on links in Android Stock Browser not working在 Android 股票浏览器中的链接上使用 click() 不起作用
【发布时间】:2022-02-19 05:42:43
【问题描述】:

我想用 JavaScript 触发对链接的点击,但无法让它在 Android 股票浏览器上运行。以下代码在 Chrome(桌面、Mac)和 Safari(iOS)中运行良好,但在 Android 股票浏览器(三星 Galaxy S3)中运行良好:

<a href="test" id="a">One</a>
<a href="test" id="b">Two</a>

<script>
document.getElementById('a').addEventListener("click", function (e) {
    e.preventDefault();
    document.getElementById('b').click();
});

document.getElementById('b').addEventListener("click", function (e) {
    e.preventDefault();
    alert("test");
});
</script>

http://jsfiddle.net/xYfdF/7/

当用按钮替换链接时,它也开始在 Android 上工作:http://jsfiddle.net/xYfdF/8/

知道问题是什么或如何解决这个问题吗?

【问题讨论】:

    标签: javascript dom-events


    【解决方案1】:

    我找到了解决方案here。它的纯 JS,不是 jquery,但可能有助于解决 Android 股票浏览器上缺少的click()

    <a href="http://stackoverflow.com/" id="link">click here</a>
    
    <script type="text/javascript">
        //same as: document.getElementById("link").click()
        var clickEvent = document.createEvent('MouseEvent');
        clickEvent.initEvent('click', true, true);
        document.getElementById("link").dispatchEvent(clickEvent);
    </script>
    

    【讨论】:

      【解决方案2】:

      您需要使用 Jquery 将点击事件转换为触摸事件,如下所示

      <script type="text/javascript">
          jQuery(document).ready(function() 
          {
             jQuery('#a').bind("touchstart touchend touchmove click",function(event) 
             {
          event.preventDefault();
               jQuery('#b').click();
             });
      
            jQuery('#b').bind("touchstart touchend touchmove click",function(event) 
             {
          event.preventDefault();
               alert('Test');
             });
          });
       </script>
      

      【讨论】:

      • 谢谢,但不能使用 jQuery,因为它是在嵌入客户网站的脚本上。不过我会考虑使用触摸事件。
      • 如果对您有用,请查看此链接stackoverflow.com/questions/16552822/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-21
      • 2016-11-02
      • 2015-05-07
      • 2013-04-24
      相关资源
      最近更新 更多