J'ai ce code:Affectation de fonction onclick dynamique avec paramètres dynamiques en JavaScript?
document.getElementById('img'+i).onclick = function(){popup_show('popup',array_msg[i]+'|||'+date('Y-m-d',strtotime(lec_date))+'-==-'+str_view_forConflict, 'AddEditSchedule;;popup_drag2;;EditSched;;'+String(array_msg_id[3])+';;view', 'popup_drag', 'popup_exit', 'screen-center', 0, 0);};
... mais quand je clique sur l'image, les données de array_msg[i]
est les dernières données de la boucle, ce qui signifie l'indice est la longueur de la boucle. J'utilise IE pour cela.
S'il vous plaît donnez-moi une idée sur la façon de faire cela. En FF, cela fonctionne bien car j'utilise setAttribute
.
@bobince
document.getElementById('img'+i).onclick= popup_show.bind(window, 'popup',array_msg[i]+'|||'+date('Y-m-d',strtotime(lec_date))+'-==-'+str_view_forConflict,'AddEditSchedule;;popup_drag2;;EditSched;;'+array_msg_id[3]+';;view','popup_drag', 'popup_exit', 'screen-center', 0, 0 );
if (!('bind' in Function.prototype)) {
Function.prototype.bind= function(owner) {
var that= this;
var args= Array.prototype.slice.call(arguments, 1);
return function() {
return that.apply(owner,
args.length===0? arguments : arguments.length===0? args :
args.concat(Array.prototype.slice.call(arguments, 0))
);
};
};
}
il y a une erreur: "tmp n'est pas défini" – Treby
Oups, l'a corrigé. –
vous l'avez eu .. votez pour ma question .. merci .. – Treby