簡體   English   中英

JQuery - 如何從按鈕單擊功能獲取應用程序對象

[英]JQuery - how to get the app object from a button click function

在我的 javascript 文件中,我定義了一個應用程序對象,該對象采用一個初始化函數,該函數在通過 JQuery ready文檔時觸發。

$(document).ready(function() {
    console.log("JQuery ready");

    app.initialize();
});

該應用程序定義為

var app = {
  _GPS_ENABLED: false,

  initialize: function() {
        var self = this;
        // deviceready Event Handler
        $(document).on('deviceready', function() {
          ... ...
          // BIND A CLICK EVENT TO A FUNCTION DEFINED IN A LATER STEP
          $('#isGPSenabled').on("click", self.isGPSenabled);
          ... ...
        });
  },

  isGPSenabled: function() {
    cordova.plugins.diagnostic.isGpsLocationEnabled(function(enabled) {
        // HERE I NEED TO ACCESS THE "APP" ATTRIBUTE "_GPS_ENABLED"
        ._GPS_ENABLED = enabled;  // HOW CAN I ACCESS THE _GPS_ENABLED ATTRIBUTE ON APP
    });
  }
}

HTML 部分有:

<button id = "isGPSenabled">IS GPS ENABLED</button>

如何從附加到按鈕的功能訪問應用程序的屬性?

以前,我通過對象本身的名稱來引用該對象。 我認為這是我曾經看到的一種模式,當時可以滿足我的需求。 沒有真正考慮過積極或消極的一面,但它從未在以前的工作中給我帶來任何問題。

下面是一個示例來演示:

 const app = { isEnabled: null, init: () => { app.isEnabled = false; }, toggleEnabled: () => { app.isEnabled = !app.isEnabled; }, displayEnabled: () => { console.log('isEnabled?:', app.isEnabled); } } app.displayEnabled(); // null app.init(); app.displayEnabled(); // false app.toggleEnabled(); app.displayEnabled(); // true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM