如何从 Javascript 函数中导航到 href

问题描述

我有一个 web 应用程序问题。 在 iOS 设备 (iPad) 中双击特定按钮 触发 click 事件,该事件会触发一些 iOS 认行为,从而缩放页面
我想防止这种情况发生。

所以我在 click 事件中添加一个 eventListener,位于顶部元素 elementId1

elementId1
  elementId2
    elementId3
  elementId4

我选择顶部元素 elementId1 因为这种副作用发生在各种嵌套元素上,我想在顶部有一个包罗万象的 click eventListener html 元素层次结构,这将防止这种情况发生在多个地方。

eventListener 触发一个函数 onClickTopElement 调用 event.preventDefault() eventListener 设置了属性

  • capture: false - 这会导致事件在冒泡阶段触发,即在上升过程中而不是在下降过程中 这意味着:
    • 事件首先在元素上触发,该元素可能具有在点击时触发的功能并执行其设计的目的。
    • 当事件冒泡时,它会到达 elementId1 元素,该元素会触发函数 onClickTopElement,该函数调用 event.preventDefault(),从而禁用放大页面
    // add catch-all 'click' eventListener,at the top of the html elements so that on iOS the side-effect of scaling-the-page when double-touching never happens

    let element1 = document.getElementById('elementId1');
    element1.addEventListener( 'click',onClickTopElement,{capture: false,passive: false} );
    function onClickTopElement(event) {
        // prevent from trickling the event,when touching,which causes,in iOS to zoom the entire page
        event.preventDefault();
    }

最终结果是双击按钮不会导致页面放大。好!

这很好,但会产生另一个副作用。
一个带有 href 标签的按钮 (elementId4),点击后会转到另一个页面
这是由浏览器的认行为完成的。
但由于 elementId4 嵌套在 elementId1 中,现在阻止了认的 onClick 行为。

一种解决方案是将特定的 onClick eventListener 添加elementId4 并执行认行为,即导航到 href
导航到 onClick eventListener 函数中的 href 的命令是什么。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)