Fast alle Beispiele in den jQuery-Tutorials, die ich gelesen habe, verwenden normalerweise eine wichtige öffentliche Funktion für die Auswahl des Plugins. Wenn ich "Auswahl" -Plugin sage, meine ich eine, die nicht einfach eine statische Funktion ist, die auf jQuery erweitert wird.Ist es möglich, eine zweite nicht-statische, selecting, priviledged Funktion in einem JQuery Plugin zu schreiben?
Zum Beispiel:
(function($) {
jQuery.fn.actionList = function(options) {
var opts = $.extend({}, $.fn.actionList.defaults, options);
return this.each(function(){
alert(this);
});
};
$.fn.actionList.defaults = {
listHtml: '<div>Set the list html</div>'
};
})(jQuery);
aber nicht:
jQuery.log = function(message) {
if(window.console) {
console.debug(message);
} else {
alert(message);
}
};
Dies funktioniert für die meisten Dinge in Ordnung, aber was ich möchte, ist zu tun in der Lage eine zweite Funktion auf dem Objekt zu nennen zurück vom ersten Anruf an.
var actionBox = $('actionBox').actionList(options);
//Many light-cycles later
actionBox.refreshData(data);
oder vielleicht sogar:
$('actionBox').actionList(options);
// laaateerr
$('actionBox').actionList.refreshData(data);
Ich bin eine oder beide von diesen zu raten ist nicht möglich oder zumindest nicht ratsam, aber ich bin jetzt nur noch in die tiefsten Aspekte von jQuery bekommen und Javascript.
Kann jemand erklären, wie man das macht, oder wenn es nicht möglich oder ratsam ist, warum? und was würden sie stattdessen tun?
Danke fürs Lesen!
Hey vielen Dank für die Antwort, ist es möglich, wenn Sie mir ein Beispiel zeigen? –
Ich meine, wie würden Sie dies auf der Plugin-Deklaration Seite definieren, vorausgesetzt, die Funktion tut nichts. Tut mir leid wegen dem Ärger. –
Es tut mir wirklich leid, hätte ich sagen sollen, wie in einer theoretischen jquery.actionlist.js die refreshData (data) -Funktion geschrieben werden könnte. Das hat mich feststecken lassen. –