Ich bin fest auf eine Timeout arbeiten. Ich habe bereits einen Arbeitscode, aber es scheint mir der falsche Weg zu sein.jquery define Timeout beim Aufruf der Funktion
Arbeits Code aber wahrscheinlich nicht die beste:
/* Autosave */
// On load we hide all autosave messages.
$('.jform_params_autosave-cg').hide();
// Below is the function that handles the autosave.
$.fn.autoSave = function(){
// We remove the autosave message from it's place defined by the xml and add it to the system message container.
var autosavemessage = $('.jform_params_autosave-cg');
autosavemessage.detach();
autosavemessage.appendTo('#system-message-container');
// Now we show the message.
$('.jform_params_autosave-cg').show();
// Here we save the extension.
Joomla.submitbutton('module.apply');
}
// On change of the below elements we run the autosave.
//------------------------------------------//
// DUPLICATE AUTOSAVE FUNCTION BELOW
//------------------------------------------//
// Autosave: Theme Selection
$("#jform_params_theme_selection").change(function() {
$.fn.autoSave();
});
// Autosave: Add Content
$("a.group-add.btn.btn-mini.button.btn-success").click(function() {
setTimeout(
function()
{
$.fn.autoSave();
}, 5000);
});
Die Funktion:
$.fn.autoSave = function(){
// We remove the autosave message from it's place defined by the xml and add it to the system message container.
var autosavemessage = $('.jform_params_autosave-cg');
autosavemessage.detach();
autosavemessage.appendTo('#system-message-container');
// Now we show the message.
$('.jform_params_autosave-cg').show();
// Here we save the extension.
Joomla.submitbutton('module.apply');
}
Die Function Call
$("#jform_params_theme_selection").change(function() {
$.fn.autoSave();
});
der Funktionsaufruf mit Timeout
$("a.group-add.btn.btn-mini.button.btn-success").click(function() {
setTimeout(
function()
{
$.fn.autoSave();
}, 5000);
});
Was will ich
- Machen Sie das Timeout innerhalb der Funktion erreichen.
- Definieren Sie die Zeitüberschreitung beim Aufrufen der Funktion.
Mit der Definition ich es meine Berufung etwas wie $.fn.autoSave(5000);
oder $.fn.autoSave().timeout(500);
Ich habe versucht, einen funktionierenden Code zu bekommen, aber bisher kein Glück. Ich werde diesen Beitrag immer dann aktualisieren, wenn ich mehr Erfolg oder Details hinzufügen kann.
Vielen Dank für Ihre Hilfe.
Jeder Link zu bestehenden SO-Fragen wird auch geschätzt, wie ich für die falschen Schlüsselwörter googlen könnte.
Sie suchen "Erstellen Sie ein Plugin" verwenden
$('selector').autoSave(5000)
oder$('selector').autoSave()
hier überprüfen https://learn.jquery.com/plugins/basic-plugin -creation/ –@TolgahanAlbayrak Danke für den Link. In der Tat suche ich danach. Leider habe ich auf dem kurzen Blick die Seite übernommen, es gibt kein Beispiel mit Timeout. Ich werde es von A bis Z lesen, aber glaube nicht, dass es auf der Seite ist. – purple11111