滚动器服务
技术名称:滚动条
依赖项:无
每当用户点击web客户端中的锚点时,该服务就会自动滚动到目标(如果合适的话)。
该服务添加了一个事件侦听器来获取文档上的点击。该服务检查其href属性中包含的选择器是否有效,以区分锚点和Odoo操作(例如<a href=“#target_element”></a>)。如果不是这样的话,它什么也不会做。
如果单击的目标似乎是某个元素,则会在主应用程序总线上触发事件SCROLLER:Aanchor_LINK_CLICKED。该事件包含一个自定义事件,该事件包含匹配的元素及其id作为引用。它可以允许其他部分处理相对于锚点本身的行为。原始事件也会被提供,因为它可能需要被阻止。如果该事件未被阻止,则用户界面将滚动到目标元素。
API
以下值包含在上面解释的锚链接单击的自定义事件中。
Name | Type | Description |
element | HTMLElement | null | href所针对的锚点元素 |
id | string | href中包含的id |
originalEv | Event | 原始点击事件 |
滚动器服务在主总线上发出scroller:ARCHO_LINK_CLICKED事件。为了避免滚动器服务的默认滚动行为,必须对给定给侦听器的事件使用preventDefault(),以便从侦听器正确实现自己的行为。