我听说Ryan Bates说Rails JavaScript帮助器方法可以防止“不干扰JavaScript”。

这是正确的吗?如果是这样,有人可以解释原因吗?

最佳答案

不打扰的意思是“不要将HTML与JavaScript行为混在一起”。另一种说法是“不要仅仅因为要使用JavaScript而更改HTML”。 Rails的javascript帮助程序方法以一种隐藏的方式实现了这一目的。

假设您根本没有使用JavaScript。如果您想要HTML表单,则可以使用form_for并使用常规表单。现在说您要添加JavaScript,以便您的表单提交AJAX请求而不是常规的HttpRequest。您有两种方法可以做到这一点。


您可以使用辅助方法remote_form_for
您可以使用类似jQuery的功能将函数绑定到通过AJAX提交表单的Submit调用。


第一种方法是强迫性的。您正在更改标记(查看生成的代码)。第二种方法不引人注目。通过使用jQuery并附加来自javascript的行为,您根本不会更改HTML。

关于javascript - 为什么Rails帮助器方法可以防止“不干扰JavaScript”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1619984/

10-11 22:12
查看更多