[英]Javascript - elegant way to check object has required properties
[英]Elegant way to check if JQuery object has an event under a namespace
对于Instance,假设我们要检查'this'是否在命名空间代理下有任何事件; 我目前这样做:
// 'this' is not a DOM element
if ($($(this).data('events')).length === 0 || $($(this).data('events').proxy).length === 0) {
// Do something If there are no events
}
这就是我现在这样做的方式,以确保创建了.data('events')对象(如果在读取.data('events')之前没有调用.bind它将是未定义的)AND它在'proxy'命名空间下有一个事件。
有没有更好的方法来做到这一点而不抛出错误? 如果我可以这样做,那就太好了:
if($(this).data('events').proxy.length === 0) {
// Do something if there are no proxy events
}
但是 ,如果没有绑定到'this'的任何内容,代码片段将抛出错误,因为.data('events')将是未定义的,因此不会有.proxy访问器。
相应地加强真实性检查:
var data_events = $(this).data('events');
if(!data_events || data_events.proxy.length === 0) {
// Do something if there are no proxy events
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.