JQuery eklentisi içerisindeki işlevlerin eklentinin dışından nasıl çağrılacağını bulmaya çalışıyorum. Denediğim kod çalışmıyor. Eminim ki buna izin vermek için eklentimi yeniden yapılandırmam gerekecek, fakat nasıl yapılacağından emin değilim. Bu örnekte, underline()
işlevine erişmeye çalışıyorum.Dışarıdan bir jQuery eklentisi içinde işlev çağırma
jQuery eklentisi
(function($) {
"use strict";
$.fn.testPlugin = function(options) {
// Settings
var settings = $.extend({
newText : "Yabadabado"
}, options);
return this.each(function(i, el) {
var init = function(callback) {
if($(el).attr("class") === "red") {
$(el).css("color","red");
}
$(el).text(settings.newText);
if(callback && typeof(callback) === "function") {
callback();
}
};
var underline = function() {
$(el).addClass("underline");
};
init();
});
};
}(jQuery));
eklenti içinde bulunan bir fonksiyonu
var doTest = $("#testItem").testPlugin({
newText: "Scoobydoo"
});
var doNewTest = $("#newTestItem").testPlugin({
newText: "kapow!"
});
Çağrı Seçicilere eklentisi atama
$("#underline").click(function(e) {
e.preventDefault();
doTest.underline();
});
Sen bu şekilde işlevini çağırmak do cant. 'underline' bir iç işlevdir, bu nedenle bu işlevi çağırmak için bir yöntem oluşturmanız gerekir. – putvande