如何确定Javascript对象是否是一个事件? [英] How to determine if Javascript object is an event?

查看:86
本文介绍了如何确定Javascript对象是否是一个事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

确定Javascript对象是否是一个事件的最安全的方法是什么?

What is the safest way to determine if a Javascript object is an event?

推荐答案

这可能是一个很好的做法您希望找到的属性和方法的未知对象。

It's fairly good practice to probe possibly "unknown" objects for the properties and methods you expect to find.

因此,假设您已经获得了一个事件对象,并在之前进行探测代理它,例如

So, assume you have got an event object, and probe it before acting on it, e.g.

if (event.target)
{
   //looks like we're an event, hide the target
   var e=$(event.target);
   e.hide();
}

重要的是要注意我不建议你测试'目标'看看它是否是一个事件:你正在测试目标,因为你将要使用该属性。我正在推动的是,不是试图弄清楚对象是否是事件,而是探测对象以查看它是否会以您期望的方式运行,然后使用这些行为。

It's important to note that I'm NOT suggesting you test for 'target' to see if its an event: you're testing for target because you're about to use that property. What I'm driving at is that instead of trying to figure out whether an object is event, probe the object to see whether it is going to behave in the way you expect, then use those behaviours.

这样的代码应该在具有不同支持的浏览器上优雅地降级,或者让你利用特定于浏览器的扩展,例如

Code like this should degrade gracefully on browsers with different support, or let you take advantage of browser-specific extensions, e.g.

if (event.initKeyEvent)
{
    //gecko 1.9+
    event.initKeyEvent(...)
}

这篇关于如何确定Javascript对象是否是一个事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆