猿问

Go 可以在它所服务的 HTML 文档中捕获点击事件吗?

我正在编写一个管理库存的程序。它基于来自 postresql 数据库的记录提供 html,或者使用 html 表单写入数据库。

使用<a></a>标签或表单提交可以访问不同的功能(添加记录、搜索等),这些功能又使用 调用函数http.HandleFunc(),然后函数生成查询、解析结果并将这些呈现到 html 模板。

搜索功能将查询结果呈现到 html 表中。为了使搜索结果页面理想地可用且整洁,我打算只提供最相关的信息。但是,由于数据库中存储了更多详细信息,因此我也需要一种访问该信息的方法。为了做到这一点,我想让每个表格行都可以点击,例如在页面底部或侧面的状态区域中显示所选记录的详细信息。

我可以尝试遵循适用于运行其他功能的模式,即使用<a></a>标签并http.HandleFunc()呈现新内容,但这并不是我想要的,原因有几个。

第一:无需离开搜索结果页面即可查看其他详细信息;没有太多细节以至于单个记录的完整数据不应该与搜索结果在同一页面上呈现。

第二:我希望整行都可以点击,而不仅仅是表格单元格中的文本,这是<a></a>标签给我的。

在属性中使用从数据库返回的 id,就像<div id="search-result-row-id-{{.ID}}"></div>我能够处理单个记录一样,但我还没有找到一种方法来捕获 Go 中的点击。

在我跑掉并用 javascript 写这个之前,有没有人知道在 Go 中严格执行此操作的方法?我对使用久经考验的 js 方法并不是特别不利,但我很想知道它是否可以在没有它的情况下完成。


ITMISS
浏览 126回答 1
1回答

紫衣仙女

有没有人知道在 Go 中严格执行此操作的方法?正如其他人在评论中指出的那样,不,Go 无法在浏览器中捕获事件。为此,您需要使用一些 JavaScript 将 Web 请求发送到服务器(Go 运行的地方)以获取更多信息。您还可以在第一次提供页面时将所有必需的信息推送到浏览器,并根据 CSS/JavaScript 事件隐藏/显示它,但同样,这只是常规的 Web 开发,与 Go 无关。
随时随地看视频慕课网APP

相关分类

Go
我要回答