基
onUpdate:
等待从应用程序中的其他位置进行调用onRelease:
我想要实现的目标
我需要为这两个函数使用一些DOM
个元素。但是,document.onload
在这里不起作用,因此我认为我需要将它们存储在某种JavaScript object
中。
限制
(元素仅用于此Object
,必须在Object
内声明)
注意:这是一个自定义构建的app
,所以看起来有点令人困惑,但我只需要知道在当前情况下是否可以这样做
问题
有没有办法使用Javascript Objects
或某种存储/获取DOM
元素的函数,以便它们可以在整个Object
中使用?
代码
var ObjB = exports.ObjB = ObjA.extend({
/* Something to contain the DOM Elements E.g.
UI = {
domElement: document.querySelector('#dom')
},
*/
onUpdate: function() {
if(domElement.hasClass('class')) {
// logic using other elements
}
},
onRelease: function() {
if(domElement.hasClass('class')) {
// logic using other elements
}
}
});
答案 0 :(得分:0)
如果您想多次使用dom元素,并且您希望每次想要使用元素时都避免调用选择器,您可以这样做,但要奖励这只适用于您不要在以后删除或添加所需的元素(在您第一次调用this.setupUi()
之后),因为UI
只会初始化一次:
var ObjB = exports.ObjB = ObjA.extend({
onUpdate: function() {
this.setupUi();
if(this.UI.domElement.hasClass('class')) {
// logic using other elements
}
},
onRelease: function() {
this.setupUi();
if(this.UI.domElement.hasClass('class')) {
// logic using other elements
}
},
setupUi : function() {
if( !this.UI ) {
this.UI = {};
this.UI.domElement = document.querySelector('#dom');
//add all other elements that are required by the object
}
}
});