我有一个简单的输入,谷歌Chrome自动完成功能开始.
当我接受建议时→,然后立即单击一个按钮(没有按Enter或Tab),然后访问valueDOM元素只返回我手工输入的字符,而不是字段的整个内容.jQuery也是如此,即调用$(input).val().
这是一个演示此行为的最小示例.我在type="email"这里使用输入而不是type="text"确保浏览器启用自动完成,但它的行为完全相同.

将建议添加到输入(高亮显示)后单击字段而不是使用时,会发生相同的情况→.
类似的问题在Safari 7上发生,虽然检索值没有问题,但在我描述的第二个场景中没有发出任何事件(在添加建议后单击该字段).
除了禁用自动完成(我做过)之外,有没有人知道如何规避这个?
如何Date在 Gradle 中获取表示构建过程开始时间的对象?
在我正在编写的一个插件中,我需要将构建的日期和时间存储在构建的存档中(它主要用于在应用程序的标题栏中显示日期和构建号,以使 QA 工作更轻松)。
我希望正在构建的多个子项目具有相同的日期,因此理想情况下我只想使用构建的开始。作为一种解决方法,我将日期保存在静态字段中,但这会伤害我的眼睛。我在来源中看到有多个org.gradle.util.Clock实例保存此类信息,但我找不到从插件中检索一个的方法。
我想用它中的2个分隔符创建Vaadin下拉列表.我无法找到实现这一点的方法,任何人都可以帮我解决这个问题吗?
这是我想要显示下拉列表的方式:
我怎样才能做到这一点?
可以在理解中使用不同的单子吗?这是使用的代码map
case class Post(id: Int, text: String)
object PostOps {
def find(id: Int) : Option[Post] = if (id == 1) Some(Post(1, "text")) else None
def permitted(post: Post, userId: Int) : Try[Post] = if (userId == 1) Success(post) else Failure(new UnsupportedOperationException)
def edit(id: Int, userId : Int, text: String) = find(id).map(permitted(_, userId).map(_.copy(text = text))) match {
case None => println("Not found")
case Some(Success(p)) => println("Success")
case Some(Failure(_)) => println("Not authorized")
}
}
Run Code Online (Sandbox Code Playgroud)
理解的直接版本由于明显的原因而无法使用,但是是否可以使它与一些其他代码一起使用?我知道在C#中是可能的,所以如果不在Scala中,那会很奇怪。