当通过 JavaScript 更改输入值时,macOS Sierra 中的 Safari 10.0 似乎改变了输入中占位符的行为方式。它现在也不同于 Chrome (53.0.2785.116) 正在做的事情。
到目前为止,当通过 JavaScript 设置输入值时,占位符会消失。通过 JavaScript 将值设置回空后,占位符将重新出现。
现在,通过 JavaScript 设置输入值不会隐藏占位符,直到输入获得焦点之后(例如通过单击)。
检查此 JS Bin 以获取演示:https ://jsbin.com/rogoludahu/edit?html,js,output
这是预期的行为吗?如果是这样,是否有一个聪明的解决方法可以在通过 JavaScript 更改后隐藏/取消隐藏占位符?
编辑:现在已在 rdar://28412751 提交 Safari 10 和 Safari 技术预览版。