gpt4 book ai didi

javascript - 在整个对象中的多个函数中使用变量

转载 作者:行者123 更新时间:2023-11-30 06:35:28 25 4
gpt4 key购买 nike

基地

  • 我想在一个对象中使用一些从另一个函数设置的变量
  • 一个函数,onUpdate:等待从应用程序中的其他地方发出的调用
  • 第二个函数,onRelease:在鼠标点击后触发

我正在努力实现的目标

我需要为这两个功能使用一些 DOM 元素。但是,document.onload 在这里不起作用,所以我认为我需要将它们存储在某种JavaScript 对象 中。

限制

(元素只在这个Object中使用并且必须在Object中声明)


注意:这是一个自定义构建的应用所以看起来有点困惑,但我只需要知道在当前情况下是否可以这样做


问题

有没有办法使用 Javascript 对象 或某种存储/获取 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
}
}

});

最佳答案

如果你想多次使用 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
}

}

});

关于javascript - 在整个对象中的多个函数中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14834190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com