2012-06-28 45 views
0

我有簡單的JavaScript代碼段:如何在點擊後獲取整個對象作爲響應?

var obrazek = [{nazwa: "Sniadanie", wiek: 100, autor: "Alicja"},{nazwa: "Kolacja", wiek: 10, autor: "Misiek"}]; 

function galeria(nazwa, wsad) { 
    this.nazwa = nazwa; 
    this.wsad = wsad; 
    this.print = function(element) { 
     for (var i=0;i<this.wsad.length;i++) { 
      var text = "<li>"+this.wsad[i].nazwa+"</li>" 
      element.append(text); 
     } 
    } 
} 
$(document).ready(function() { 
    gal = new galeria('test', obrazek); 
    gal.print($('#galeriaTest')) 
}); 

它給我:

  • Sniadanie
  • Kolacja
  • 我要的是簡單的方法,將click事件之後返回對象:

    Object { nazwa="Sniadanie", wiek=100, autor="Alicja"} (in FireBug) 
    

    如何編碼?

    +0

    稍微偏離主題,但我建議你大寫你的構造函數的名字,並將方法移動到原型。 – Lapple

    回答

    1

    只要你的數據集是靜態的,你可以只對象使用data()功能關聯到DOM元素。

    Here's an example

    如果您的數據集是動態的,您仍然可以將對Galeria和某些ID類型信息的引用關聯起來,以獲得類似的改進結果。

    +0

    太棒了!這是我正在尋找的。你能告訴我你的動態數據是什麼意思嗎? – Odoakr

    +0

    我只是說,如果你的數據集是異步更新的,你需要確保對它的引用保持同步。例如,你不希望Galeria中的對象替換爲另一個對象,而是讓列表項仍然引用舊對象。但在很多情況下,這不是你需要擔心的。 – Brendan

    0
    $("selector").on('click', function(e){ 
        console.log(obrazek); // would put object in a console, you can check it via firebug 
    }); 
    
    +0

    謝謝!那麼,我不是很精確。我只想看到被點擊的物體 – Odoakr