繁体   English   中英

如何防止 iOS Safari 聚焦新元素?

[英]how to prevent iOS safari from focusing new element?

当我在单击时删除按钮并将新按钮放置在同一位置时,iphone 上的 safari 将焦点状态设置在新按钮上。 当用户没有点击新按钮时,这会导致一个焦点按钮。 如何防止 iOS Safari 聚焦我的新元素?

这种行为不会发生在我的带有 chrome 的 android 设备上。 我能找到的关于 iOS safari 的唯一答案是点击后没有删除焦点状态。 我尝试过 preventDefault、stopPropagation 但它不起作用。

小提琴类似于我的情况。 这会在我的代码从 get 调用成功接收内容后进行替换时进行直接替换。

<div class="container">
    <a class="btn btn-info">first button</a>
</div>

<script>
$(".btn").click(function () {
    $(this).remove();
    $('.container').append('<a class="btn btn-info">second button</a>')
});
</script>

https://jsfiddle.net/puymn180/2/

修复可能会很困难,但解决方法是可以接受的。

我通过异步添加按钮找到了解决此问题的方法。

setTimeout(function () {
    $('.container').append('<a class="btn btn-info">second button</a>');
}, 0);

这不能解决按钮保持焦点而不替换按钮元素的问题。 (大多数人正在寻找的地方)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM