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

问题描述:

我有一个divcontenteditable它拥有一个占位符,直到您单击它。 如果我在iOS 6.1的Safari中清除focus上的div的内容,我无法使用键盘。 它适用于iOS 7上的Firefox,Chrome和Safari。键盘在Safari iOS 6中停止工作时清除contenteditable div

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

当我制作一个需要支持iOS 6的Web应用程序时,是否有解决此问题的方法?

下面是一些测试代码:

<!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中解决此问题。

+0

我很确定我已经试过这个,但再次尝试它的作品。谢谢! – Tyilo