Vu le code (beaucoup de celui-ci dépouillé)faisant référence à cette fonction à l'intérieur
// A data set
$.DataArea = function() {
// Default options
$.extend(this, {
'class': "DataSet",
'bars': new Array(),
'container': null,
'containerId': null,
'gridsize': 20,
'width': 400,
'height': 400,
'currentSelectedBar': 0
});
// Add a bar to this object
this.addBar = function(startDate, endDate, label, styleID) {
// When the bar is clicked
$('#' + barID).click(function() {
alert($(this).currentSelectedBar);
if (this.currentSelectedBar != undefined)
$('#' + this.currentSelectedBar).fadeIn("slow");
this.currentSelectedBar = barID;
$('#' + barID).fadeTo("slow", 0.5);
});
}
Quand je alert($(this).currentSelectedBar);
il sort toujours comme indéfini, ce n'est pas définir la valeur correctement. Des idées pour lesquelles cela pourrait être? L'idée est lorsque vous cliquez sur une barre, qu'elle disparaît, et lorsque vous cliquez sur une autre barre, la dernière barre à disparaître disparaît également.
Je pense que vous avez plus que ce seul problème. Comme @Robert a correctement pointé dans son commentaire ma réponse (maintenant supprimée), 'this' fait référence à l'élément DOM auquel vous liez le gestionnaire d'événements. –