在iOS 5模拟器中使用我的web应用程序时,我注意到iOS 5不会立即清除占位符,只有在第一次输入之后才会清除。在所有其他版本的iOS以及所有桌面浏览器上,当用户将注意力集中在输入上时,占位符会立即清除。我现在无法访问iOS 5设备,但我非常怀疑这是一个模拟器错误。
这是一个bug还是有意为之?奇怪的是,我在网上只找到了一个关于这种行为的引用,就在这里:clearing input placeholder in iOS5
有没有解决这个问题的办法?当占位符不能立即清除时,对用户来说是非常令人沮丧的。
发布于 2012-02-02 22:35:55
我想你错了-- iOS文本字段总是这样的。
我不明白为什么这会让用户感到沮丧。如果有什么不同的话,那就是帮助程序文本在他们开始键入之前保持可见,以防他们在选择字段之前错过了它。
可能会让您感到困惑的是,iOS字段有一个单独的可选行为,即在选择字段时清除文本,但请注意,这是实际清除的文本,而不是占位符文本。
占位符文本是浅灰色的文本,在用户键入内容之前,它始终显示。
内容文本(通常为黑色)有时在字段被聚焦时清除,有时不清除,这取决于UITextField的配置方式。
您链接到的SO问题中的jQuery解决方案应该允许您复制此功能的任何变体,但我个人建议坚持使用iOS约定,即在用户键入内容之前不清除帮助文本。
发布于 2012-02-02 22:17:48
这不是一个bug,而是一个特性。您可以使用委托方法清除占位符。(UITextFieldDelegate http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html)
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[textField setPlaceholder:@""];
}adn编辑完成后应控制其为空。
- (void)textFieldDidEndEditing:(UITextField *)textField
{
if ([textField.text isEqualToString:@""])
[textField setPlaceholder:@"Placeholder Text"];
}https://stackoverflow.com/questions/9113764
复制相似问题