在 YUI3 中是否可以将单个处理程序附加到多个事件?
那么这样的事情可能吗?
Y.one("input.units").on("keyup change", function(e){
...
});
jquery 等价的是
$("input.units").bind("keyup change", function(e){
...
});
so is something like this possible?
Y.one("input.units").on("keyup change", function(e){
...
});
the jquery equivalent is
$("input.units").bind("keyup change", function(e){
...
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,这是可能的。只需传递事件名称数组而不是字符串:
Yes, this is possible. Just pass an array of event names instead of a string:
为什么不尝试这样的事情:
Why not try something like this:
编辑: YUI 本身支持此功能。请参阅下面 Ryan 的回答。
否。不过,您可以这样做:
此代码包装 Node.on() 以接受空格分隔的事件类型字符串。它返回一个带有单个方法 detach 的对象,该方法将您的处理程序与所有事件分离。
请注意,此代码仅影响其沙箱内的 Y 实例,因此您应该将其放在传递给
YUI().use
的函数内。将其打包为模块也很容易。EDIT: YUI supports this natively. See Ryan's answer below.
No. You could do something like this, though:
This code wraps Node.on() to accept a string of space-delimited event types. It returns an object with a single method, detach, which detaches your handler from all of the events.
Note that this code only affects the Y instance inside its sandbox, so you should put it inside the function that you pass to
YUI().use
. It would also be easy to package it up as a module.