Hej, jag har fastnat lite i en sak. Jag skapar oftast javascript-objekt som i sig själv hanterar det som är relevant för en sida. T.ex har jag en lista med länkar, men som jag vill ska gå igenom javascript-objektet.
Exempel:
Kod:
<script>
$(function() {
var baseUrl = "x";
var linkHandler = {
init: function() {
this.linkButton = $('.linkButton');
this.bindEvents();
},
bindEvents: function() {
this.linkButton.on("click", $.proxy(this.goTo, this));
},
goTo: function(event) {
// Här är event.data() undefined..., så även this.data() osv osv
console.log(event.data());
}
}
linkHandler.init();
});
</script>
Länkexempel
Kod:
<a href="#" class="linkButton" data-id="blah" data-id2="blah">test</a>
<a href="#" class="linkButton" data-id="blah2" data-id2="blah2">test2</a>
<a href="#" class="linkButton" data-id="blah3" data-id2="blah3">test3</a>
Länkarna i fråga har data-taggar med relevanta värden som ska användas för att komponera ihop den slutga URL:en.
Problem jag har är att få ut data-xxx värdet inuti goTo funktionen i objektet. Det ger idag undefined...
Kör jag utan proxy och istället kör en anonym funktion:
Kod:
this.linkButton.on("click", function() { console.log($(this).data()); });
Ja då finns data-taggarnas värden med.
Jag vill dock fortsätta använda proxy för att få lite bättre struktur i javascript-objektet.
Hur gör jag för att i goTo-funktionen få ut data-taggarnas värde?