我听说 Ryan Bates 说 Rails JavaScript 辅助方法可以防止“不显眼的 JavaScript”。
这是正确的,如果是这样,有人可以解释为什么吗?
我听说 Ryan Bates 说 Rails JavaScript 辅助方法可以防止“不显眼的 JavaScript”。
这是正确的,如果是这样,有人可以解释为什么吗?
Unobtrusive 只是意味着“不要将您的 HTML 与您的 javascript 行为混为一谈”。另一种说法是“不要仅仅因为你想使用 javascript 而改变你的 HTML”。rails javascript helper 方法以一种隐藏的方式做到了这一点。
假设您根本没有使用 javascript。如果您想要一个 HTML 表单,您将使用form_for
并拥有一个常规表单。现在假设您要添加 javascript,以便您的表单提交 AJAX 请求而不是常规 HttpRequest。你有两种方法可以做到这一点。
remote_form_for
第一种方法是突兀的。您正在更改您的标记(查看生成的代码)。第二种方法不显眼。通过使用 jQuery 并附加来自 javascript 的行为,您根本不会改变您的 HTML。
rails 助手将 onclick 事件添加到 html 中。我一直认为不引人注目意味着当用户禁用 javascript 时您的页面仍然可以工作,但是在我打字时弹出 jason punyon 的答案后,我检查了它。
实际上,将 javascript 与 html 完全分离的技术已被标记为不显眼的 javascript。