XSP.getElementById
和 和有什么不一样document.getElementById
?在我的测试中,两者似乎都返回相同的值(存储在字段中的值)。为 XPage 编码时应该首选哪一个?
2 回答
已编辑
XSP.getElementById
与dojo.byId
我认为在比document.getElementById
.
这是来源XSP.getElementById
:
/**
* Convenience function for retrieving an element given its id in a browser independent manner.
*/
this.getElementById = function x_gbi(elementId){
return dojo.byId(elementId);
}
我想为了更好的未来 XPage 支持,使用XSP.getElementById
(因为他们可能会改变它)而不是dojo.byId
. 我一直在使用dojo.byId
,因为它更短。document.getElementById
永远不应该在 XPages 中使用,因为我们有dojo.byId
.
更新
从 Dojo 1.7 开始,语法要复杂得多:
require(["dojo/dom"], function(dom){
// fetch a node by id="someNode"
var node = dom.byId("someNode");
});
今天我的同事指出,Dojo 2将不再支持当前的简单调用方式dojo.byId
。这意味着这XSP.getElementById
绝对是要走的路,require
每当我们将 Dojo 与 ND9 一起使用时,我们都应该开始使用新的基于语法。
XSP 包含用于处理 Notes 客户端 (XPiNC) 和 Web 浏览器情况的代码。在 XPiNC 中不使用 XSP 调用可能会起作用或可能会产生副作用。
XSP.getElementById 的工作方式与 document.getElementById 相同,只是它确保它可以跨具有相同功能的浏览器工作。
您可以在 getElementById 的“XPages Portable Command Guide”第 184 页中阅读有关 XSP 工作原理的更多信息。