Reklama
Nepřihlášený uživatel | Zaregistrovat se
 

Téma:

Počítače a InternetVývoj software

Spravují:

lampa,
Sarnegarth

Může vás zajímat



Reklama




cestujicivnoci  
Potřeboval bych něco na zobrazení časové osy. Něco dost podobného tomuto: http://seiyria.com/bootstrap-slider/#example-13
Navíc bych ale potřeboval ještě na vyžádání měnit rozsah, resp. při prvním otevření bude úplně vpravo aktuální čas a ten pak v nějakém intervalu budu aktualizovat, přičemž se osa se všemi body překreslí. Nevíte o něčem takovém? Díky.
 
cestujicivnoci  
super, dík. $(document).on("click") funguje uspokojivě a na první pohled se zdá, že to můj problém řeší bezezbytku.
 
Disassembler Artificial Intelligence is no match for  natural stupidity
Pro dynamicky vytvářené elementy použij .on().

Zapisuje se jako $("xxx").on("click", "yyy", function() {});, kde xxx je nějaký element, který existuje celou dobu (může být i body, ale spíš se doporučuje nějaký div) a yyy je pak selektor, pro který chceš registrovat ten klik. JS eventy probublávají DOMem, takže když jej registruješ takto, tak jej vlastně zachytí až ten xxx, ale díky tomu selektoru bude jQuery schopno říct, na který element se fakticky klikalo a nastaví správně this v těle funkce.
V Dokumentaci to má jQuery popsané - http://api.jquery.com/on/
eso I will not vote for this Brexit, it is s 
Eventy je možné přiřadit jen těm elementům, co už existují.

Osobně to řeším tak, že když vytvořím ty elementy, tak zároveň k nim přidám i ten event. Z té function() můžeš volat i jinou funkci, kterou máš definovanou někde jinde.

Existují na to i jiné metody, jako že se ty události přiřazují přes rodičovské elementy.

Tady je to celkem popsáno - https://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements

Jinak je samozřejmě dobré mít všechno co píšeš mít uzavřeno v

$(function() {
// muj kod
});

cestujicivnoci  
Já jsem pořád nepochopil navěšování jquery eventů na dynamicky přidané objekty.
Mám na stránce třeba tlačítka a někde v js toto:
$("button").click(function() { alert ("1"); });

Pak mám jinde nějaký jiný skript, který buttony přidává. Chápu, že nově přidaný button na kliknutí nereaguje a tu akci mu musím přiřadit. Jak to ale udělat, aniž bych tu funkci opisoval?
 
cestujicivnoci  
Já to znám a používám, jen teď je to netypické v tom, že jsem to vytáhl z hlavního skriptu do funkce, kterou jsem z něj volal a v tu chvíli se to kupodivu začalo chovat zvláštně.
von_Zeppelin Oliheň Beznaděje  pclib php framework
Jojo, proto je tam to .done(). Klíčové slovo: javascript promise
cestujicivnoci  
A odpovím si sám. Protože je to asynchronní, blbečku. Čtyři hodiny času.
cestujicivnoci  
Prosím vás, já jsem nějak zabržděnej. Proč mně proběhne nejdřív to "nakonec" a až potom ty výsledky z JSONu? https://jsbin.com/xexumufelo/edit?js,console,output
 
cestujicivnoci  
To je pravda, ale to v tomto případě nikoho nezajímá. Jde o webový interface v tuto chvíli desktopové aplikace. Nepřihlášený (takže i robot vyhledávače) neuvidí nic.
hkmaly - Slava pomlcky -  .
Tak urcite ne pro SEO.
cestujicivnoci  
Ještě malá odbočka. Znáte někdo webix.com? Slíbil jsem, že pro určité zadání udělám analýzu použitelnosti několika různých frameworků. Webix mi tam trochu podstrčili, protože se jim líbil. Technicky tomu zadavatel nerozumí a já jsem ten, kdo dodá informace, podle kterých se rozhodne. Mně to připadá jako značně předdefinovaná stavebnice se specifickým způsobem použití. Všechno se konfiguruje JSONem: https://docs.webix.com/samples/02_toolbar/03_tabview.html Mně se to nezamlouvá, ale chci být objektivní. Je to k něčemu dobré?
 
hkmaly - Slava pomlcky -  .
Nemelo by ... samozrejme tim html() nic nepridavas ale nahrazujes, na pridavani je append, a neni moc dobry napad pridavat neco vsem form-control misto jenom tem nove pridanym, ale proc by to kvuli tomu nemelo fungovat me nenapada. Asi budes muset napsat trochu vic detailu.
cestujicivnoci  
Jo, to už jsem taky našel a funkci přidal za ten skript, který ty dropdowny přidal na stránku, ale nefunguje to. A není to problém jen tady, mám třeba inputy s třídou "form-control" a $( ".form-control" ).change(function() u těch nově přidaných nefunguje. Nemůže být problém v tom, že to trochu prasím a ty elementy přidávám nějakému divu de facto jako .html("<input class='form-control'>")?
hkmaly - Slava pomlcky -  .
Jedna se o bootstrap 3 dropdowny takze element element aktivovat pres $(element).dropdown().
cestujicivnoci  
Používám https://adminlte.io/themes/AdminLTE/pages/UI/general.html (celou tu šablonu). Narážím ale na problém s dynamicky přidávanými prvky. Na té linkované stránce je třeba Dropdown (ctrl+f). Když ale na stránku přidám javascriptem další, nefunguje. Chápu, že to na sobě nemá navěšené potřebné funkce. Chtěl bych se zeptat, kde ty funkce najdu.
(sorry za blbou otázku, je mi 12 a potřebuju to do písemky)
 
Jak to tak čtu, asi na to člověk musí přijít sám. Těžko se to popisuje, dokud si to člověk nezažije na vlastní kůži. Za mě to stojí za to na 100 %, ale chápu, že než to člověk všecko dostane do ruky, cesta se může spíš zkomplikovat.

Já si bez TS nedovedu programování pro browsery/node představit. Napovídání, hledání usages a s tím spojený výrazně zjednodušený refactoring jsou za mě must have. Čím více lidí na projektu dělá, čím aktivnější je vývoj, čím větší projekt je, tím více mi přijde psát čistý JavaScript bez typové kontroly na palici a tím více se výhody TypeScriptu podtrhávají.

Psát v plain JavaScriptu velký projekt je z mého pohledu blbost a rozumný programátor to takhle chtít dělat nebude (a rozumný CTO to nedovolí); takže jde asi o to mentální nastavení, jestli chceš dělat takové to domácí bastleníčko, nebo jestli chceš programovat na vyšším levelu.
jdk bezprizorní dýchač čerstvého vzduchu 
Pokud na něčem dělám sám, mám z toho stejný pocit, takže jej prozatím zvesela ignoruju a snažím aspoň minimálně anotovat a popsat všechny funkce co se týče jejich vstupu a výstupu.

Ale pokud nad jedním kódem pracuje více lidí, je typechecking samozřejmě nutnější a nutnější.
Saggy I am the beast I  worship
Hele, fakt ten TypeScript stoji za to? Prijde mi, ze za cenu zvyseni komplexity tool chainu a dost drsneho snizeni knowledgebase (minimalne treba pro Vue.js framework je 90% materialu pro js) jsem teda ziskal ten slavny typechecking. Jako code completion je fajn, ale nemam pocit, ze business logiky je v bezne appce tolik, aby vygenerovala tak velke potencialni mnozstvi bugu, souvisejicich s types, aby to prevazilo vsechny ty nevyhody. Spis mam pocit, ze misto traveni X hodin debuggingem type-related issues travim dvakrat tolik casu debugovanim syntaxe a hledani dokumentace v TypeScriptu.