Я пытаюсь выяснить, как вызывать функции в моем плагине jQuery из-за пределов плагина. Код, который я пробовал, не работает. Я уверен, что мне придется реструктурировать мой плагин, чтобы это разрешить, но я не уверен, как это сделать. В этом примере я пытаюсь получить доступ к функции underline()
.
Плагин 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();
});