- iPhone topik
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy A56 - megbízható középszerűség
- Nokia 8 Sirocco - tudja, honnan fúj a szél
- iGO Primo
- Samsung Galaxy S23 Ultra - non plus ultra
- Honor Magic5 Pro - kamerák bűvöletében
- Yettel topik
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Értem. Szerintem előkeresem a fehér zászlót, mert sajnos azt, amit konkrétan meg szerettem volna csinálni, azt function-ökön keresztül nem lehet megoldani sajnos. Vagy ha igen, akkor számomra csúnyán csak. Azt meg nem szeretném, hogy van egy kód, amit pár hét után előveszek és csak pislogok, hogy mivaaan!?
Php és curl azért nem megoldás, mert ahogy mondtam, ez egy Android/iOS appnak indult, nativescript-tel. Csak, ha ezt tudom, nem szenvedek el feleslegesen két napot a GUI gyártással...
A vége mégiscsak az lesz, hogy java-ban írom meg és csak androidra!
Köszi mindent Nektek, rendkívül tanulságos volt ez a lecke!
-
Köszi!
És ha a
doWhateverYouWantWithHTML
nem function, hanem kód? Mert pont ez a problémám. Nem csak egyszer, egy link esetében szeretném feldolgozni az adatokat, hanem több helyen. Ahol mindegyik linknek más a kódja, tehát másnak kell lefutnia. Amit nem tudok function-be tenni... Konkrétan pl replace-t, vagy splitet szeretnék a változókon végrehajtani.Nem akarom én ezt túlbonyolítani... A lényeg, hogy van egy függvényem, annak küldök egy linket, majd egy DATA változóban visszatér a HTML kódja az adott oldalnak. Erről a HTML oldalról pedig megint leszedek egy link HTML-t, azt is feldolgozom stb...
Ja és van amikor a több link közt case-t is használok, hogy eldöntse a forráskód alapján, hogy éppen melyiket kell használnia... Namost ezt egy functionbe beilleszteni átláthatatlan lenne és újra kéne írnom a már xhr sync-kel működő viszonylag hosszú kódot.
-
De én pont nem ezt szeretném. A függvény csak "kódrövidítés" szempontjából lenne szükséges. És nem a függvényen belül szeretném az adatokat kiíratni, hanem "kint".
Illetve nem alerteket, hanem elég hosszű replace-ket regex-ekkel használnék...
S ezt a getPage-t én csak a HTML kód leszedésére használnám. Nem egyszer, hanem sokszor a kódban...
Egyébként kinek az ötlete volt egy get kérést aszinkronnak keresztelni? Ott a legtöbb esetben pont az a lényeg, hogy megvárja, míg végez a letöltés... És ez eddig minden programnyelvben, amivel eddig találkoztam mind így volt. De ha callbackkel meg lehet csinálni, kérem valaki dobjon már össze egy példát nekem, ami stimmel a leírásomra! Nagyon hálás lennék!
-
Sk8erPeter
nagyúr
Hát basszus, most nézem, tök igazad van, én meg tök hülyeségeket beszéltem, elég durván felületesen néztem meg, látszik az aznapi tevékenységemen a 3 óra alvás
.
Mondjuk ettől még tényleg ratyi az a regexp. Eleve furcsa, hogy az <input rész beleírásától miért félt következetesen.
Pl. ez illeszkedik arra az undormány regexpre (a form szigorúan nagybetűvel kezdődjön):
<Form method="POST" action=''><input name="op" value="asdasd" /><input name="id" value="asdasd" /><input name="fname" value="asdasd" /><input name="hash" value="asdasd" />(#5803) w.miki:
Kódminőségben biztos tudnánk szebbet... ha akarnánk.(#5804) TheProb:
Heh, milyen fura, még a HTML5 előtti időkből benne ragadt a fejemben, hogy az id csakis akkor valid, ha BETŰVEL kezdődik, a számmal kezdődőek nem azok - de most nézem, HTML5-től kezdve már sima szám is lehet id - sőt, igazából minden (ha nem üres), ha valóban egyedi és nem tartalmaz whitespace-t.(#5809) trisztan94:
"A programozásban nincs olyan, hogy valami egyszer működik, egyszer nem."
Mi? Hát már hogyne lenne?Olyan szép esetek vannak ilyesmikre, a kedvencem az a fajta hiba, ami debuggolás során nem tapasztalható, csak éles működés során. És erre persze csak elképesztő sok időelkúrás után jössz rá, miután már úgy érzed, hogy végigdebuggoltad az egész világegyetemet, aztán kezdheted vakarni a fejedet, hogy vajon akkor a nem debug módban futás során vajon mi történik, egyszerűen időbeli tényező az oka, vagy netán a többszálú működés alkalmazásodban tapasztalható indeterminizmusa, vagy valami eltérő hardverkörnyezetből előkerülő érdekesség, vagy...vagy...satöbbisatöbbi.
-
Jim-Y
veterán
Egyebkent, csak ilyen FYI jelleggel, itt egy alternativa a closure-re.
-
Sk8erPeter
nagyúr
Pont nemrég írt róla:
http://prohardver.hu/tema/javascript_topic/hsz_4249-4249.html
Igazából nagyon röviden annyi a gond vele, hogy bizonyos helyzetekben a kódírás vagy épp kódolvasás során nem egyértelmű, egész pontosan mire is vonatkozik a this, ezt el lehet kerülni azzal, ha még "időben", a megfelelő helyen átadod a this-t egy beszédes változónak, vagy például eseménykezelőkben az event.targetet, event.currentTargetet, stb. használod.Azért persze olyan nagyon démonizálni sem kell, például egy rövid eseménykezelőben nincs baj belőle, ha a this-t használod (vagy $(this)-t), ha az elég egyértelmű, viszont ha már picit bonyolódik a helyzet, érdemes egyértelműbbé tenni a kódot (az olvashatóság és a helyes működés érdekében is). Azért mondjuk a kód jobb, ha minden tekintetben következetes.
-
martonx
veterán
Érdekes, hogy nem működik .on-nal a scroll, a click meg igen. Szvsz semmi köze ahhoz, amit feltételezel, ki kellene próbálni plain js-sel, lehet hogy ez csak valami jquery hiba. Simán működnie kellene: példád letisztítva és a lényegre koncentrálva
-
CSorBA
őstag
Mármint gondolom azért nem fut le, mert a scroll nem bubblingol, ezt hogy tudom mégis megcsinálni?
-
Fr3eWar
őstag
Pontosan!
csak használni szerettük volna az oldalt.
(#4013) Sk8erPete :
Közöm nincs a java-hoz semmilyen irányból.
Ezt találtam a keresőbe java szót beírva. És mivel a másik topic címe java programozás volt, így azt magamban kilőttem, mert nem érdekel a java programozás. És nem tudom mi a különbség a java script meg más között.De úgy sikerült megoldani, hogy a java control panelon, hozzáadtam az oldal címeit az engedélyezett oldalakhoz. És a biztonságot medium-ra állítottam.
-
Sk8erPeter
nagyúr
"Azt hittem valamiért, h. van egy onclick is ami egyenlő az .on("click"-el"
Igen, lényegét tekintve ugyanaz, lásd a jQuery source code-ot a jQuery.fn.click-nél:
http://james.padolsey.com/jquery/#v=1.10.2&fn=jQuery.fn.clickfunction (data, fn) {
return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
}magyarul a jQuery.on() hívódik meg a .click() esetén is, csak nyilván a 'click' paraméterrel. Ugyanígy néz ki például a .dblclick() is ([link]).
A jQuery.on()-nál már láthatsz viszont különbséget, csak kukkants rá:
http://james.padolsey.com/jquery/#v=1.10.2&fn=jQuery.fn.onAz .on() általános eseménykezelő-hozzákapcsoló.
Lehetne akár .on('dblclick', ...) is. Annyi a különbség, hogy a $('#valami, .blabla').dblclick(...) egyértelműen a selectorral kijelölt elemekhez kapcsol egyértelműen megnevezett eseménykezelőt, és itt még nem tudsz átadni selectort, ami szűr azokra az elemekre, amiknek ki kéne váltani az adott eseményt, és ezt a különbséget emeltem ki itt a tbody-tr példánál. Tehát például a .click() nem fog működni AJAX-szal hozzáadott elemekre. -
Sk8erPeter
nagyúr
Hi! Az események buborékszerű felszivárgásáról itt írtam, belinkelve egy példát:
http://prohardver.hu/tema/weblap_keszites/hsz_10515-10516.html
http://prohardver.hu/tema/weblap_keszites/hsz_10543-10543.htmlAz AJAX-os betöltött elemekre kötött event handlerekre jó példa a jQuery.on(), ahol a "delegated events" rész az érdekes, itt tök jól elmagyarázza a helyzetet (kiemeltem a nagyon fontos részeket):
"Delegated events have the advantage that they can process events from descendant elements that are added to the document at a later time. By picking an element that is guaranteed to be present at the time the delegated event handler is attached, you can use delegated events to avoid the need to frequently attach and remove event handlers. This element could be the container element of a view in a Model-View-Controller design, for example, or document if the event handler wants to monitor all bubbling events in the document. The document element is available in the head of the document before loading any other HTML, so it is safe to attach events there without waiting for the document to be ready.
In addition to their ability to handle events on descendant elements not yet created, another advantage of delegated events is their potential for much lower overhead when many elements must be monitored. On a data table with 1,000 rows in its tbody, this example attaches a handler to 1,000 elements:
$( "#dataTable tbody tr" ).on( "click", function() {
alert( $( this ).text() );
});A delegated-events approach attaches an event handler to only one element, the tbody, and the event only needs to bubble up one level (from the clicked tr to tbody):
$( "#dataTable tbody" ).on( "click", "tr", function() {
alert( $( this ).text() );
});[...]
Attaching many delegated event handlers near the top of the document tree can degrade performance. Each time the event occurs, jQuery must compare all selectors of all attached events of that type to every element in the path from the event target up to the top of the document. For best performance, attach delegated events at a document location as close as possible to the target elements. Avoid excessive use of document or document.body for delegated events on large documents.
jQuery can process simple selectors of the form tag#id.class very quickly when they are used to filter delegated events. So, "#myForm", "a.external", and "button" are all fast selectors. Delegated events that use more complex selectors, particularly hierarchical ones, can be several times slower--although they are still fast enough for most applications. Hierarchical selectors can often be avoided simply by attaching the handler to a more appropriate point in the document. For example, instead of $( "body" ).on( "click", "#commentForm .addNew", addComment ) use $( "#commentForm" ).on( "click", ".addNew", addComment )."
Itt tehát a példában az eseménykezelőt a tbody-ra kötötte, ahelyett, hogy az összes tr-re tette volna ugyanezt, így az eseménynek csak pontosan egy szintet kell buborékszerűen felúsznia, a klikkelt tr elemből a tbody felé.
Ide felraktam egy egyszerű példát:
http://jsfiddle.net/Sk8erPeter/Tpc3k/
itt például gombokat adok hozzá egy container elemhez. Az első példában csak az első gomb "reagál" (dob alert() ablakot), mert konkrétan a kód lefutásának pillanatában jelenlévő button elemre kötöttem az event handlert; a második esetben viszont amikor hozzáadok újabb gombokat, azok is dobnak alert()-ablakokat, hiszen ott azt határoztam meg, hogy a szülőelemre legyen kötve az event handler (egyébként itt a lényeg a hierarchia, nem az, hogy közvetlen szülőeleme legyen!), és megadtam egy selectort is (ami a "button"), hogy a leszármazott elemek közül ezekre szűrjön az eseménykezelés során, ezek triggereljék a click eseményt.
Lásd a doksiban a leírást a selectorra:
selector
Type: String
A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element.Tehát a különbség:
első:
$container1.find('button').on('click', function (event) { ... } );
második:
$container2.on('click', 'button', function (event) { ... } );Remélem, nagyjából érthető, ha valami nem tiszta, mert bonyolultan írtam, kérdezz nyugodtan
-
martonx
veterán
A dolog egyrészt egyszerű, másrészt nem.
Van ugyebár a DOM-unk, aminek egy MEGLÉVŐ elemén ha elsül valahol egy esemény, az szépen elkezd fölfelé "bugyogni" a szölő elemein végig.Feladat tud lenni, ennek a felfelé bugyogásnak a megszüntetése, mert nem várt mellékhatásokat okozhat. Pl: egy formot ajaxosan akarsz elküldeni. A submit gomb click-jére feliratkozva hiába csinálsz valamit, ha az esemény tovább bugyog, és végül a default böngészős viselkedés fog elsülni rá, azaz elnavigál az oldal a Form url-jére. Ekkor a click elkapásakor egyúttal meg kell szüntetni a tovább bugyogást is.
A másik típusú gond ott kezdődik, hogy eseményt kötni csak MEGLÉVŐ elemekre lehet, olyanokra nem amiket ajax-al utólag fogsz beszúrni valahova, és az esemény handler létrehozásakor még sehol sincs.
Ekkor sincs gond, csak éppen más módszerrel kell lekezelni ezeket az eseteket.
-
Jim-Y
veterán
Egy lehetőség, amit kliens oldalon csinálhatsz.
http://jsfiddle.net/Jim_Y/qvdHS/2/ -
fordfairlane
veterán
Én is belefutottam hasonlóba, ott egy táblázat fejlécében kellett volna 90-kal elforgatni a hosszú header szövegeket. Olyan sok cross-browser jellegű probléma lépett fel, hogy végül inkább szerveroldalon generáltam képekbe a szövegeket, PHP-ben, a GD könyvtárat használva.
-
Karma
félisten
google://jquery+rotate első találatok között ez elég szimpatikusnak tűnik. Gyakorlatilag megcsinálja helyetted azt a pár sor CSS-t, amit kézzel is megírhatnál
-
Sk8erPeter
nagyúr
Nézd meg a Fácsét IE8-ban például.
Ott pont úgy változik az URL, hogy hash-t használnak.Tehát valahogy így:
http://www.facebook.com/photo.php?fbid=1231231#!/photo.php?fbid=123123132&set=ASDADS&type=1&permPage=1A #!/photo.php?.... rész az érdekes.
Tehát van egy "fallback", ha nem támogatja ezt a feature-t a böngésző, amiről Athlon64+ beszélt.
-
Peter Kiss
őstag
Csak egy kicsit kellene tudni keresni. Ez egy HTML5 feature, ami nem működik minden böngészőben, információkat itt találhatsz, próbáld ki a window.history.replaceState-et!
-
Sk8erPeter
nagyúr
Eggyel visszább az ábécében
: CKEditor
Ezt tudom ajánlani, elég komolyan testreszabható, és folyamatosan fejlesztik. (Az külön jó pont, hogy Drupalhoz is nagyon jó modulja van, ezenkívül ASP.NET-es kontrollert is kínálnak hozzá, meg Java-alkalmazásokba is könnyen integrálható, plusz ingyenesen (persze van liszenszelt változata is).)Meglepődve látom, hogy az ábécében eggyel később lévő CLEditor pl. nem mutatja azt sem, ha egy szót már korábban mondjuk félkövérítettél: ha a kurzor a félkövérített szó valamelyik betűjénél áll, akkor nem kerül fókusz a félkövérítés ikonra... ahogy a többi formázást sem mutatja. Pedig ez alapvető elvárás lehet egy WYSIWYG-szerkesztővel szemben. (CKEditor alap, hogy tudja.)
Ja, de most, a hsz. megírásának végére látom, hogy azt írtad, hogy legyen "lebutított".
Hát, a CKEditor mondjuk nem kicsi, de végül is úgyis csak egyszer kell a böngészőnek betöltenie a hozzá tartozó JS-fájlt, utána a böngésző már cache-ből szedi.
De ha a fentebb linkelt demóoldalon a "Custom toolbar" linkre kattintasz, akkor láthatod, milyen a CKEditor "Basic" toolbarja:Pont csak az alapvető eszközök láthatók rajta; ezt tetszőlegesen tudod bővíteni.
Új hozzászólás Aktív témák
Hirdetés
- Elektromos cigaretta 🔞
- Autós topik látogatók beszélgetős, offolós topikja
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- iPhone topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Elektromos autók - motorok
- BestBuy ruhás topik
- VR topik
- További aktív témák...
- Dell Latitude 8-11. gen i5, i7, 2-in-1 szinte minden típus csalódásmentes, jó ár, garancia
- BESZÁMÍTÁS! MSI Crosshair 17 HX Gamer notebook - i7 14700HX 64GB RAM 1TB SSD RTX 4060 8GB WIN11
- Samsung Galaxy S25 Ultra 1TB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! AMD Ryzen 9 3900X 12 mag 24 szál processzor garanciával hibátlan működéssel
- AKCIÓ! Intel Core i9 14900K 24 mag 32 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest