回到课程

在元素中捕获链接

重要程度: 5

在所有包含 id="contents" 属性元素的链接(在触发单击事件时)询问用户是否真的想离开当前页面。

就像这样:

细节:

  • 元素中的 HTML 可以随时动态加载或者重新生成,因此我们无法找到所有链接并将处理器放在它们身上。这里使用事件委托。
  • 内容可能有嵌套标签。内部链接也是这样,比如 <a href=".."><i>...</i></a>

打开一个任务沙箱。

这是一个使用事件委托模式的案例。

在现实中,我们可以向服务器发送一个 “logging” 请求而不是询问,以保存访问者离开位置的信息。或者我们可以加载内容并将其显示在页面中(如果允许的话)。

我们只需要捕捉 contents.onclick 然后使用 confirm 来询问用户。一个好主意是使用 link.getAttribute('href') 来代替 link.href。详情请参阅解决方案。

使用沙箱打开解决方案。