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

标签 javascript

基地

  • 我想在一个对象中使用一些从另一个函数设置的变量
  • 一个函数,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/

相关文章:

javascript - React 中的无限渲染

JavaScript、Ajax、php parsererror 以及如何获取 post Json?

javascript - 根据选择选项显示/隐藏 div

javascript - 修复了 Navbar 子下拉菜单无法正确显示的问题

javascript - AssertionError : expected { Object (driver, name, ...) } 拥有属性 '_id'

javascript - jQuery 发票和 HTML

Javascript 在循环中切换隐藏和显示按钮 Laravel 5

javascript - 为什么我的 GreaseMonkey 函数意外地被多次调用?

javascript - 滚动一点点时跳转到部分 - React

javascript - 如何使用 Google App Script 在 Apify 中创建搜索词变量