Próbuję dowiedzieć się, jak wywoływać funkcje w mojej wtyczce jQuery spoza wtyczki. Kod, który próbowałem, nie działa. Jestem pewien, że będę musiał zrestrukturyzować moją wtyczkę, aby to umożliwić, ale nie jestem pewien jak to zrobić. W tym przykładzie próbuję uzyskać dostęp do funkcji underline()
.Wywołanie funkcji wewnątrz wtyczki jQuery z zewnątrz
plugin jQuery
(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));
Przypisywanie wtyczki do selektorów
var doTest = $("#testItem").testPlugin({
newText: "Scoobydoo"
});
var doNewTest = $("#newTestItem").testPlugin({
newText: "kapow!"
});
wywołać funkcję, która znajduje się wewnątrz wtyczki
$("#underline").click(function(e) {
e.preventDefault();
doTest.underline();
});
Ty nie mogę zrobić wywołać funkcję w ten sposób. 'podkreślenie' jest funkcją wewnętrzną, więc musisz stworzyć metodę, aby móc wywołać tę funkcję. – putvande