Zda je registrována obsaluha událsoti window.beforeunload rubrika: Programování: JavaScript

9 Taco
položil/-a 2.3.2015

Zdravím.

V prohlížeči si mohu odchytit událost window.beforeunload a tím umožnit uživateli nechtěné opuštění stránky.

Otázka zní, je možné nějak detekovat, zda byla tato událost zaregistrována? (Jak získat seznam zaregistrovaných obsluh události pro běžný element jsem - alespoň pro jquery, našel. Ale u window.beforeunload to nefunguje.)

Případně obecně, jedná se mi o problém, kdy řeším prevenci násobného kliknutí na tlačítko. Řešení se zdá jednoduché, prostě si zaregistruju click, a element disabluju. Problém je ale v tom, že takové řešení spoléhá na to že dojde k opuštění stránky.

Díky za postřehy.

odkaz Vyřešeno
6 Žížala
odpověděl/-a 2.3.2015

Dalo by se to přeformulovat? Jsem z otázky zmaten, chcete nebo nechcete znmožnit odchod bez kliknutí na submit?

A pro otestovani beforeunload by mohlo stacit tohle.

var $window = $(window);
 
function Test()
{
    var $ve = $window.data("events");
    if ($ve != null && typeof($window.beforeunload) !== undefined)
        alert("Privesen handler");
    else
        alert("NEprivesen handler");
 
    $window.bind("beforeunload", function(){});
}
 
Test();
Test();

Komentáře

  • Taco : "Otázka zní, je možné nějak detekovat, zda byla tato událost zaregistrována?" 2.3.2015
  • Taco : Ale funguje to, supr a díky. 2.3.2015
  • Žížala : Prosím označit jako vyřešeno, rád bych byl autorem "Vyřešeno" xD 3.3.2015

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.