【发布时间】:2016-11-30 06:58:44
【问题描述】:
我看到了 Jade 的按钮点击代码
button(onclick=foo)
script(foo(){alert('foo');})
我不想在我的渲染页面中添加任何脚本标签或任何 JavaScript 代码。如何才能从 express 或 node.js 文件中点击 Jade 中的任何按钮?
【问题讨论】:
标签: javascript node.js express pug
我看到了 Jade 的按钮点击代码
button(onclick=foo)
script(foo(){alert('foo');})
我不想在我的渲染页面中添加任何脚本标签或任何 JavaScript 代码。如何才能从 express 或 node.js 文件中点击 Jade 中的任何按钮?
【问题讨论】:
标签: javascript node.js express pug
你可以使用内联javascript:
button(onClick="javascript:alert('foo')")
但是,这并不是真正的最佳选择,使用脚本标记/外部脚本可以使您的代码更具可读性和更易于调试。
但是,您不能在不使用任何 JavaScript 的情况下使用 onclick 事件。如果您的约束条件是“无 JS”,则单击时无法发出警报(alert 也是一个 javascript 函数)
如果您希望尽可能多地分离关注点,可以将 JS 代码放在单独的 .js 文件中,但仍需要将该文件包含在呈现的页面中。
编辑:关于服务器/客户端交互的解释:
当您在 Node/Express 中创建服务器时,您正在从您的模板生成资产(html 页面)。这一代,以及当用户到达您站点内的路线时如何处理,由服务器处理。
服务器“提供”源代码页面(您通过单击“查看源代码”看到的文档给客户端,然后客户端对其进行解释。
如果浏览器看到 Javascript 代码,它知道如何阅读它,并将添加您在代码中放置的所有事件、警报等。然后它将能够处理这些交互。在这种情况下,您的按钮事件与 Node/Express 无关
TL;DR :服务器只将源代码发送给客户端,客户端负责读取和解释它。
【讨论】: