【问题标题】:When changing the value of a field with Javascript, Safari keeps the placeholder visible使用 Javascript 更改字段的值时,Safari 会保持占位符可见
【发布时间】:2017-03-28 09:14:11
【问题描述】:

在 Safari 中运行以下命令:https://jsfiddle.net/gkatsanos/2355m5ds/

当我在 Safari 中更改输入字段的 .val() 而不手动关注它时,占位符仍然存在。

$('a').on('click', () => {
  $('#stuff').val('lala');
});
input {
  width: 500px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form>
  <input id="stuff" type="text" placeholder="This Won't get removed in Safari when we change the value of the input">
  <a href="#">Click this</a>
</form>

【问题讨论】:

  • 无法在 OSX 上的 Safari 10.0.1 上复制,您的小提琴工作正常
  • 添加了截图。 @RoryMcCrossan 尝试只单击一次,当您单击两次时它就会消失。如果第一次成功,请刷新并再次尝试。
  • 是的 - 在这里仍然有效。第一次点击或第十次点击。

标签: jquery css safari placeholder


【解决方案1】:

我有同样的问题,几周前我在 Apple 社区论坛下发布了这个问题。我已经尝试将 jquery 升级到最新版本,但没有任何乐趣。我的猜测是它对 webkit 的 Apple 更改与 jquery 不兼容。

【讨论】:

    【解决方案2】:

    只有在 Safari 中打开 Javascript 控制台时才会出现此问题。

    例如,如果您重新启动 Safari 或打开一个新窗口并运行 jsfiddle,它将正常工作。如果您选择“开发”->“显示 Javascript 控制台”,那么它会开始执行奇怪的行为,并且即使在您关闭控制台后它也会继续这样做。

    我已将此错误报告给 Apple (#33759204)。

    【讨论】:

    • 上述 George Katsanos 提供的 JSFiddle 重现了该问题,但未显示 JavaScript 控制台。虽然我不是反对你的人,但也许这就是你的原因。
    猜你喜欢
    • 2020-12-09
    • 2014-07-22
    • 2013-10-31
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    相关资源
    最近更新 更多