为什么我总是得到未定义从任何JS对象在XPiNC

Why is it that I always get undefined from any JS object in XPiNC?

本文关键字:JS 任何 对象 XPiNC 未定义 为什么      更新时间:2023-09-26

Lotus Notes 8.5.3FP3 UP1

我在dojo.ready上初始化了一些代码我用onclick处理程序连接我的表行:

dojo.query(document).delegate('tr', 'onclick', controller);

在我的控制器函数我现在希望能够做:

var obj = evt.target;

这工作,我得到一个对象在FireBug生活。

但是如果我尝试做:

obj.tagName返回未定义。事实上,无论我尝试检索什么属性,它都会返回undefined !

如果我在Firebug控制台中运行它,同样的代码可以工作。它在所有浏览器中都能完美运行,包括IE7及以上版本!

好吧,这是我自己带来的…

Domino 8.5.3x中的XULRunner很旧,不支持obj.parentElement,所以我使用:

obj = obj.parentElement || dojo.query(obj).parent();

然后试着做:

obj.tagName

看到问题了吗?

改变:

obj = obj.parentElement || dojo.query(obj).parent()[0];

解决它。