HTML onclick事件属性不工作电话

问题描述 投票:0回答:1

我正在尝试使用onclick事件在同一个iframe中显示不同的链接,它在计算机上运行但在手机上运行。我知道它类似于jquery中的'touchstart click',但在标签中我不知道如何制作它。

<a class="link" href="project-url"
   onclick="document.getElementById('project_iframe').src=this.href; return false;">
   <h3>title</h3>
</a>

<iframe id="project_iframe" src="#" frameborder="0" allowfullscreen></iframe>
jquery html ios events onclick
1个回答
1
投票

使用现有标记的更好方法是简单地将rel =“external”添加到您的on,并且您的onclick应该正常运行。

<a class="link" href="project-url"
    onclick="document.getElementById('project_iframe').src=this.href; 
    return false;" rel="external">
    <h3>title</h3>
</a>

<iframe id="project_iframe" src="#" frameborder="0" allowfullscreen> 
</iframe>

这将起作用,因为jQuery Mobile会将链接视为普通标记,返回false将简单地停止默认操作。


编辑:

或者您可以将其添加到您的Js并删除onclick标记:

$('.link').on('touchstart click', function(e){
    e.stopPropagation(); e.preventDefault();
    document.getElementById('project_iframe').src=this.href; 
    return false;
});

这是一个小提琴:https://jsfiddle.net/onn3a3w0/10/

© www.soinside.com 2019 - 2024. All rights reserved.