Je suis confus pourquoi ce code est écrit comme ça, mais je suis sûr qu'il est important de comprendre:En jQuery, comment utilisez-vous correctement ceci dans cette situation?
$.fn.mapImage = function(options){
//Set user input options and defaults
var optionConfig = $.extend({}, $.fn.mapImage.defaults, options);
image=this;
this.image = this;
// Assign defaults
this.getUrl = optionConfig.getUrl;
this.saveUrl = optionConfig.saveUrl;
this.deleteUrl = optionConfig.deleteUrl;
this.editable = optionConfig.editable;
this.pinpoints = optionConfig.pinpoints;
image.pinpoints = optionConfig.pinpoints;
image.pinpointCount = 0;
this.canvas = $('<div class="canvas"><div class="create-mode"></div><div class="edit-mode"></div></div>');
this.image.after(this.canvas);
this.canvas.height(this.height());
this.canvas.width(this.width());
this.canvas.css('background-image', 'url("' + this.attr('src') + '")');
this.canvas.children('.create-mode').css('cursor', 'crosshair');
this.canvas.children('.create-mode, .edit-mode').height(this.height());
this.canvas.children('.create-mode, .edit-mode').width(this.width());
this.canvas.children('.edit-mode').show();
this.canvas.children('.create-mode').hide();
$(this).hide();
}
Ce que je ne comprends pas est pourquoi le code a image=this
et this.image=this
, est-ce la même chose ? pourquoi ne pas faire quelque chose comme image.after(this.canvas)
est-ce que this
fait référence à l'objet courant qui est passé par la fonction en premier lieu?
c'est une réponse vraiment obscure – Ben
@Ben - J'ai fait de mon mieux ... quelle partie avez-vous trouvé pas claire? – Reigel
L'utilisation du mot "this" dans les commentaires rend l'explication vraiment déroutante puisque vous essayez d'expliquer le mot-clé this. Je sais ce que tu veux dire, mais pour quelqu'un qui essaye de le comprendre, je pense que ce serait confus. – Ben