单个事件上的多个事件处理程序.Trigger或event.delegate
Multiple event handlers on a single event.trigger or event.delegate?
我正在努力将PDF.JS与Aurelia集成,并且我有两个方法,我想在响应scroll
事件时运行。通常,我会将这两个函数合并到一个方法中。然而,对于我的用例,我需要为每个方法使用不同的绑定行为。
我有一个renderHandler
,我想和scroll.trigger
一起使用,像这样:
<div ref="container" class="pdf-container" scroll.trigger="renderHandler() & debounce:250">
然而,我也有另一个scrollHandler
(它,而不是处理渲染事件,现在将只处理值绑定更新,如滚动时的页码),我想使用油门行为,像这样:
<div ref="container" class="pdf-container" scroll.trigger="scrollHandler & throttle">
单独工作。我不知道怎么把它们联系起来。Aurelia目前不允许在trigger
或delegate
表达式中使用多个表达式,并且在元素中复制属性没有效果(因为在Aurelia的解析过程中复制的属性可能会被破坏)。
是否有一种方法可以声明性地使用具有不同绑定行为的两个处理程序来处理同一事件?
框架目前不支持对同一事件、元素和绑定命令组合进行多个事件绑定。
作为一种解决方法,您可以添加一个trigger2
绑定命令:
import {SyntaxInterpreter} from 'aurelia-templating-binding';
SyntaxInterpreter.prototype.trigger2 = SyntaxInterpreter.prototype.trigger;
那么你就可以在同一个元素上使用scroll.trigger
和scroll.trigger2
了。
的例子:https://gist.run/?id=b51e1c0ff28de5d19d1018881399c4e4
我不知道它在哪个版本可用。但是这个语法可以工作。
<button click.delegate="[click1(), click2()]">multiple click handlers</button>
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- keyup事件处理程序更改焦点不适用于快速键入
- 用程序搜索JQuery数据表中的文本
- Javascript:selenium Web驱动程序isDisplayed()不工作
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- ExtJS 5用程序点击actioncolumn gridview
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 如何从Java/scala调用js美化程序
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- angular 1.5应用程序中的导航栏
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 在Trigger.io移动应用程序中启用缩放
- 从使用 Trigger.io 构建的移动应用程序发送帖子请求
- LinkedIn是否在其iPhone应用程序中使用PhoneGap或 Trigger.IO?
- 在iOS版本的 trigger.io 应用程序中键入文本字段会导致除背景以外的所有内容消失
- 当调用jQuery's.trigger()函数到绑定到该元素的其他处理程序的传播停止
- 点击状态栏不会滚动到应用程序的顶部(Trigger.io)
- 单个事件上的多个事件处理程序.Trigger或event.delegate