簡體   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