Autor Zpráva
Bašta
Profil *
Prosím, potřeboval bych poradit s komponentou qTip http://craigsworks.com/projects/qtip/
Jde o to, že by měla umožňovat vytvořit modal dialog a následně suplovat klasické volání alert.
Příklad je http://jsfiddle.net/craga89/ZJpLH/
Jenže, když daný příklad upravím
<button onclick="Alert();Prompt()">Alert</button>
tak zjistím, že první volání Alert nepozastaví vykonávání js, ale ihned se provede i Prompt.
Prosím, jde to nějak upravit, aby Alert se choval jako systemový alert.
Nebo znáte jinou komponentu, která se chová jako alert a je u ní možné nadefinovat její vzhled?
Děkuji za pomoc
_es
Profil
Bašta:
Prosím, jde to nějak upravit, aby Alert se choval jako systemový alert.
Nejde. Na „pozastavenie JS“ nie sú v JS príkazy - až na nejaké výnimky ako spomínaný alert - bolo by to proti zmyslu programovania pre prehliadač. Asi vôbec nepotrebuješ „pozastavenie“, ale spustenie v správnom čase.
Bašta
Profil *
_es:
OK, takže spuštění v daném okamžiku.
Řekněme, že mám např. kód:

var vysledek = Vyhodnot();
if (vysledek == 0) {
MujAlert('bude doplnen vysledek');
$('#vysledek').val(vysledek);
}

v případě systémového alertu se doplněni provede až po stisknutí ok, ale při MujAlert se zobrazí hlášení a následně bez reakce ihned i nastavení hodnoty.
Jak tedy jednoduše ošetřit, aby se vyčkalo na reakci?
_es
Profil
Bašta:
Jak tedy jednoduše ošetřit, aby se vyčkalo na reakci?
Prečo by malo byť nutné nejako „vyčkávať“? Predsa sa dá to „kliknutie na ok“ detegovať a na základe toho to „doplnenie“ spraviť potom. Nejako ho predsa deteguje aj ten „vylepšený Alert“. Rovnako, ako sa po kliknutí na ok to „dialógové okienko“ zavrie, môže predsa nastať aj hocičo iné.
Bašta
Profil *
_es:
OK, tak jak prosím dostat určitou činnost AKCE dostat až do příslušné události stisknutí tlačítka? dik

function dialogue(content, title, type, AKCE) {
  $(document.body).qtip({
    content: { text: content, title: title },
    position: { my:'center', at:'center', target:$(window) },
    show: { delay:0, solo:true, ready:true, modal:{ on:true, blur:false } },
    hide: false,
    style: 'dialogue qtip-shadow qtip-tipped '+type,
    events: { render: function(event, api) { $('button', api.elements.content).click(function(e) { /*AKCE - SEM POTREBUJI DOSTAT DANOU CINNOST */ api.hide(e);  }); }, hide: function(event, api) { api.destroy(); } }
  });
}
window.Alert = function(message, AKCE) {
  var message = $('<p />', { html: message+"<br><br>" }),
      ok = $('<button />', { text: 'Ok', 'class': 'full' }); 
  dialogue( message.add(ok), "Titulek", 'qtip-error', AKCE);
}

volani:
Alert("text", AKCE);
_es
Profil
Bašta:
Budeš si na to asi musieť pozrieť dokumentáciu (qtip2.com/api), nie tú, ktorú si uviedol v [#1]. A použiť nejakú vhodnú udalosť z nej. Alebo skúsiť nájsť nejaký iný „vylepšený alert“ ktorý umožňuje jednoducho zadať funkciu spustenú po zavretí jeho „okna“.
Bašta
Profil *
_es:
Dik za nakopnuti, uz jsem to nasel.
_es
Profil
Bašta:
uz jsem to nasel.
Pravidla diskuse JPW a doporučení » 8. Snažte se zajistit, aby po vyřešení vašeho problému bylo z diskuse zřejmé, jak byl vyřešen.
Jednak niekto môže dať k tvojmu riešeniu ešte nejakú radu alebo sa to môže zísť niekomu inému.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: