当我在点击时删除一个按钮并将新按钮放在同一位置时,iphone上的safari会将焦点状态设置在新按钮上。这会在用户未单击新按钮时产生一个聚焦按钮如何阻止iOS safari关注我的新元素
这种行为不会发生在我的chrome安卓设备上。关于iOS safari,我能找到的唯一答案是点击后不会删除焦点状态。我尝试过preventDefault,stopPropagation,但它不起作用。
Fiddle类似于我的情况。这会进行直接替换,而我的代码在成功接收到来自get call的内容后进行替换。
<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);
这并不能解决按钮在不替换按钮元素的情况下保持焦点的问题。(大多数人都在寻找的地方(