为什么Rails助手方法会阻止;不引人注目的JavaScript;?

为什么Rails助手方法会阻止;不引人注目的JavaScript;?,javascript,ruby-on-rails,unobtrusive-javascript,Javascript,Ruby On Rails,Unobtrusive Javascript,我听Ryan Bates说Rails JavaScript助手方法可以防止“不引人注目的JavaScript” 这是正确的吗?如果是的话,有人能解释一下原因吗?低调的意思是“不要将HTML与javascript行为混为一谈”。另一种说法是“不要仅仅因为想使用javascript就更改HTML”。rails javascript助手方法以一种隐藏的方式实现了这一点 假设你根本没有使用javascript。如果你想要一个HTML表单,你可以使用form\u作为,并且有一个常规表单。现在假设您希望添加

我听Ryan Bates说Rails JavaScript助手方法可以防止“不引人注目的JavaScript”

这是正确的吗?如果是的话,有人能解释一下原因吗?

低调的意思是“不要将HTML与javascript行为混为一谈”。另一种说法是“不要仅仅因为想使用javascript就更改HTML”。rails javascript助手方法以一种隐藏的方式实现了这一点

假设你根本没有使用javascript。如果你想要一个HTML表单,你可以使用
form\u作为
,并且有一个常规表单。现在假设您希望添加javascript,以便表单提交AJAX请求,而不是常规的HttpRequest。有两种方法可以做到这一点

  • 对于
  • 您可以使用类似jQuery的东西将函数绑定到通过AJAX提交表单的提交调用

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

    rails帮助程序将onclick事件直接添加到HTML中。我一直认为“不引人注目”意味着当用户禁用javascript时,您的页面仍能工作,但在我键入时jason punyon的答案弹出后,我检查了它


    事实上,将javascript与html完全分离的技术被标记为不引人注目的javascript。

    您提到的第一个概念被称为“优雅地降级”。此外,使用不引人注目的javascript通常被认为是优雅地降级的最佳方式。那些在没有javascript的情况下查看页面的人不会出现错误,但他们不会获得开发人员或设计师想要的“完整”体验。这就是为什么即使Javascript没有打开,页面的功能也很重要的原因。@Lee Tang:总是很乐意帮助:)