Я пытаюсь выяснить, как вызвать функции в моем плагине jQuery из-за пределов плагина. Код, который я пробовал, не работает. Я уверен, что мне придется реструктурировать мой плагин, чтобы это разрешить, но я не уверен, как это сделать. В этом примере я пытаюсь получить доступ к функции underline()
.Вызов функции внутри плагина jQuery извне
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));
Назначают плагин для селекторов
var doTest = $("#testItem").testPlugin({
newText: "Scoobydoo"
});
var doNewTest = $("#newTestItem").testPlugin({
newText: "kapow!"
});
Вызов функции, которая находится в плагине
$("#underline").click(function(e) {
e.preventDefault();
doTest.underline();
});
вы не можете делать вызов функции, что путь. 'underline' - внутренняя функция, поэтому вам нужно создать метод, чтобы иметь возможность вызвать эту функцию. – putvande