ios - 清除 contenteditable div 时,键盘在 Safari iOS 6 中停止工作

标签 ios ios6 dom-events contenteditable

我有一个 div ,它是 contenteditable ,它包含一个占位符,直到您单击它。 如果我在 iOS 6.1 的 Safari 中清除 focusdiv 的内容,我将无法使用键盘。 它在 iOS 7 上的 Firefox、Chrome 和 Safari 中运行良好。

如果您重新聚焦 div(并确保下次内容不会更改),这也不起作用。

当我制作一个需要支持 iOS 6 的网络应用程序时,是否可以解决此问题?

这是一些测试代码:

<!doctype html>
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <div contenteditable="true">click here</div>
        <script type="text/javascript">
            document.querySelector('div').addEventListener('focus', function(event) {
                event.target.textContent = '';
            });
         </script>
    </body>
</html>

可以在这里测试:http://jsbin.com/efofUNi/2

最佳答案

尝试将 textContent 的消隐延迟几毫秒。例如:

document.querySelector('div').addEventListener('focus', function(event) {
    setTimeout(function() { 
       event.target.textContent = '';
    }, 5);
});

这将解决 iOS 6.1 上 Safari 中的这个问题。

关于ios - 清除 contenteditable div 时,键盘在 Safari iOS 6 中停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21222967/

相关文章:

ios - UITableViewCell 背景图像在 iOS 8 中未缩放

php - 我需要使用 PHP 在电子邮件中从我的应用程序中获取一个数组

javascript - button.addEventListener 在嵌套 for 循环中不起作用

iphone - xcode 4.5 中的 dictionaryHasDefinitionForTerm 问题

ios - 在 ios6 上阻止短信

reactjs - 如何在 React 应用程序中的所有 onclick 处理程序之前运行通用代码? (解决 Safari 中键点击错误)

javascript - 如何在打印之前等待 HTML 文档加载/渲染(纯 JavaScript)

ios - 如何刷新我在 iOS 中从 google oauth 2.0 获得的 token

ios - Swift:如何优化我编写的用于在裁剪后调整图像大小的代码?

ios - 适用于 iOS 的 Facebook SDK 3.1 - 在 iOS6 上运行,但在 iOS 5.x 上崩溃