utils.js

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Informatieanalist

Hou je van analyseren, structureren, specificeren en problemen oplossen en vraag je door tot je het begrijpt? Kan jij complexe processen eenvoudig en helder beschrijven? Ben je daarnaast nieuwsgierig naar de ontwikkelingen van de digitale bibliotheek? Dan ben jij misschien wel de Informatieanalist waarnaar we op zoek zijn. Wat ga je bij ons doen? Als Informatieanalist maak je onderdeel uit van een team van vier informatieanalisten. Je wordt ingezet voor verschillende projecten en analysewerkzaamheden. Zo vertaal je onder meer informatiebehoeften vanuit verschillende werk- en bedrijfsprocessen in informatievoorziening. Je hebt een onmiskenbare rol bij de ondersteuning van de “business” met het

Bekijk vacature »

Full-stack .Net Developers gezocht in Oost Nederla

Functieomschrijving Binnen je functie ben je verantwoordelijk voor de technische ontwikkeling van grote projecten. Dit kunnen verschillende toepassingen zijn. Voor, tijdens en na een project zal je een aantal keer in contact staan met de opdrachtgever om het product zo veel mogelijk naar wens van de klant in te richten. Als Full-Stack developer zul je hier voornamelijk gaan werken met C# .Net, ASP.NET, SQL Server en Entity Framework. Je zal hier van begin tot eind betrokken zijn bij de realisatie van een project. Functie-eisen – Je hebt tenminste een HBO diploma in de richting van informatica – Je hebt ruime

Bekijk vacature »

.NET Developer Zorg-ICT

Complexe software ontwikkelen: dat is jouw ding! Voor onze vestiging in Hoogeveen zoeken wij fanatieke junior en senior .NET Developers die met de laatste Microsoft-tools en -technieken willen werken. Jij bent gemotiveerd en draagt graag verantwoordelijkheid voor je 'eigen' software, die wordt ingezet in ziekenhuizen door heel Nederland. Jouw baan Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in een klein team. ChipSoft maakt gebruik van een zelf ontwikkeld multi tier framework. Tijdens een

Bekijk vacature »

Senior Software Engineer

Wil jij als Java Software Engineer jouw ervaring inzetten voor missie kritische software in het OV? Wil jij jezelf verder ontwikkelen als software engineer en in een dynamisch team de kans krijgen om nieuwe technieken te introduceren? Senior Software Engineer - Public Transport Wat ga je doen? Zelfstandig en in teamverband bedenk je oplossingen, ontwikkel je software en test je deze ook. Hiermee boek jij succes. Mede dankzij jouw drang om altijd te blijven verbeteren en doorzettingsvermogen ben jij van onschatbare waarde bij het: Vertalen van gebruikerswensen en non-functionalrequirements naar werkende software. Denk hierbij aan het bedenken, opstellen en toetsen

Bekijk vacature »

software engineer / applicatieontwikkelaar (m/v)

Wij zijn op zoek naar een software engineer / applicatieontwikkelaar, (M/V) 40 uur p/w Carrièreniveau: Startend / Midcareer De werkzaamheden: Als applicatieontwikkelaar ben je verantwoordelijk (in teamverband) voor het maken/schrijven van software voor het bedrijf zelf. Dit kan betrekking hebben op het hele spectrum van de software die gebruikt wordt: Database Instrumentatie en robotica Websites en -api’s. Gevraagd profiel: Wij zoeken een enthousiaste kandidaat met HBO ICT opleiding of een uitstekende MBO-er ICT. Je hebt een positieve en flexibele werkhouding. Affiniteit of ervaring met industriële automatisering of robotica geldt als een pré. Kennis van met name FileMaker, C#, html, php,

Bekijk vacature »

Java Developer / Java EE frameworks / Inhouse (Clo

Functieomschrijving Ben jij een Java Developer met een zeer uitgebreide kennis van REST API's en wil jij graag werken aan uitdagende Inhouse projecten voor grote en bekende partijen in Nederland? Dan is dit de rol waarnaar jij op zoek bent! Binnen deze rol zal jij je als Java Developer aan de slag gaan voor een van de meest bekende bureaus op het gebied online platformen, een rol met veel afwisseling en voldoende technische uitdaging! Werken aan diverse en uiteenlopende projecten, waarbij je meer dan eens pionierswerk zal moeten verrichten; De mogelijkheden tot het toepassen van nieuwe technieken bespreken, beoordelen en

Bekijk vacature »

Software Developer / Maatwerk / 4GL / SQL

Functieomschrijving Heb jij ervaring met Software Development en wil je je graag verder ontwikkelen bij een internationaal bedrijf in regio Eindhoven? Lees dan snel verder! Software ontwikkeling met technieken als Magic XPA en DB2 relationele databases. Ontwikkelen van nieuwe onderdelen van het centrale (maatwerk) softwarepakket. Uitbreiden bestaande functies binnen het pakket. Wensen en eisen van gebruikers in kaart brengen. Meedraaien in projecten. Informatieanalyses maken en uitwerken. Jezelf ontwikkelen binnen de organisatie, bijvoorbeeld op het gebied van BI of integratie met behulp van SAP PI/PO. Ondersteunen van de helpdesk bij software issues. Functie-eisen 1 tot 3 jaar ervaring op het gebied

Bekijk vacature »

C# backend developer, Rotterdam

Voor een grote organisatie in Rotterdam zijn we op zoek naar iemand met ruime ervaring in het ontwikkelen van applicaties in .NET C#. Het gaat hier om een organisatie met een maatschappelijke impact. Hun systemen zijn gericht op een groot aantal klanten waarbij het belangrijk is dat de applicaties helder, toegankelijk en up-to-date zijn. Als .NET C# developer werk je aan uiteenlopende applicaties, APIs en het interne framework. Dit doe je binnen een SCRUM team en meedenkt binnen het hele proces. Het team bestaat uit meerdere C# developers variërend van medior tot senior. Er is dus veel kennis en ervaring

Bekijk vacature »

Java Custom Software Developer

Jouw rol Als Java developer houd jij van uitdagende maatwerk oplossingen. Het liefste bouw je aan aan complexe en grootschalige oplossingen. Laatst zag je bijvoorbeeld nog een slimme oplossing voorbij komen die je graag zou willen uitwerken. Moet je daarvoor nieuwe technologie leren kennen, dan school jij jezelf bij. Soms moet je je collega's en de klant overtuigen om jouw idee te omarmen. Als jij dan het door jou aangebrachte idee ziet draaien dan kijk jij er alweer naar uit om de volgende oplossing te bouwen. Plaats in de organisatie Binnen onze Custom Software Development practice (CSD) werken we gezamenlijk

Bekijk vacature »

Financiële grootmacht zoekt Senior .NET Devel

Functieomschrijving Als Senior .NET Developer kom je te werken aan zowel nieuwe als aan het onderhoud van bestaande applicaties. Dit doe je soms samen met collega's volgens de Scrum methode, maar soms ook alleen als het om kleinere projecten gaat. De software die je bouwt wordt gebruikt voor de interne bedrijfsvoering en voor het ondersteunen van klanten. Je kunt bijvoorbeeld denken aan software om kredietrisico's te analyseren. Het gaat hoe dan ook om complexe en zorgvuldig opgebouwde software. Je kunt hier dan ook rekenen op een goede inwerkperiode, waarin je goed begeleid wordt en waarin je je weg in de

Bekijk vacature »

Software Developer C#

Organization Within business line Applications, software groups address the area of complex machine control software. You will be end-to-end responsible for realization of software in C# . This is done using a scrum/Agile way of working. As a Software Developer you will act as fast learning software professional, and contribute to software realization using a disciplined agile/scrum based way of working. You apply software engineering practices such as requirements engineering (user story definition), object oriented analysis and design, implementation in C#, testing, and integration. You are eager to pick up knowledge on semiconductor fab automation and throughput models. Function •

Bekijk vacature »

Alfresco Developer

Hopelijk gaat alles goed? Ik ben op zoek naar een interim/freelance Developer die ervaring/exposure heeft gehad met het CMS Alfresco! Het is voor een zeer interessante klant in Rotterdam. Verder is kennis van Java en Angular gewenst. Ben je zelf geïnteresseerd en kom je begin januari beschikbaar of ken je wellicht iemand die dat zou kunnen zijn? Dan kom ik uiteraard graag in contact! Alvast bedankt voor je tijd en moeite!

Bekijk vacature »

C# developer / Azure Cloud / Fullstack / 5500 euro

Functieomschrijving Developer / Software engineer / Fullstack / Microsoft C# .Net / Azure cloud Bouwen van Windows-, web- en mobile applicaties; Bouwen van nieuwe applicaties en de doorontwikkeling van bestaande applicaties; Uitzetten van de lijnen op architectuur niveau samen met de solution architect; Oplossen van complexe vraagstukken; Coachen en ontwikkelen van de minder ervaren developers binnen het scrumteam; Schakelen met de business. Functie-eisen Afgeronde HBO opleiding richting Informatica of vergelijkbaar; Minimaal 5 jaar ervaring als fullstack developer; Ervaring met Microsoft C# / SQL server; Ervaring met Azure is een pré; Ervaring met Angular is een pré; Je bent enthousiast, communicatief,

Bekijk vacature »

Pega Developer

BPM Company is vanwege groei op zoek naar Pega Developers. Wij zijn in 2011 opgericht en gespecialiseerd in Business Process Management. BPM Company is partner van Pegasystems & Mendix en werkt o.a. voor bedrijven als Rabobank, Transavia en De Mandemakers Groep. Als Pega Developer werk je op het snijvlak van techniek en consultancy en ben je bezig met het bouwen en implementeren van software met het BPM platform van Pegasystems. Je hebt een passie voor bedrijfsprocessen, werkt op locatie van de klant en bent tevens “trusted advisor” voor de klant. De eerste 2 maanden staan in het teken van opleiding.

Bekijk vacature »

Java Developer Internationaal complexe calculaties

Functieomschrijving Kom jij het best tot je recht in een creatieve omgeving en heb jij een pragmatisch instelling? Denk jij graag vijf stappen vooruit en neem je andere daarin mee? Dan pas je zeker bij dit bedrijf. Lees dus snel verder. Ontwikkelen van applicaties en nieuwe functionaliteiten in Java; Aanpassingen maken in bestaande code; Overleggen en samenwerken met architecten en Product Owners; Werken binnen een multidisciplinair Scrumteam met betrekking tot analyse, design en ontwikkeling; Samenwerken en ondersteunen van testers in het proces van automatische regressietesten. Functie-eisen Je hebt minimaal een afgeronde HBO of WO opleiding in de richting van de

Bekijk vacature »
Kris Peeters

Kris Peeters

13/07/2012 12:26:13
Quote Anchor link
Ik zit niet echt met een vraag of probleem; ik wil het vooral gewoon in de groep gooien.
Maar uiteraard zijn reacties/aanvullingen/opmerkingen/... welkom.

jQuery is handig en leuk ... maar meestal nogal overkill.
Er is echter wel functionaliteit die je constant nodig hebt; op zich niet zo moeilijk, maar je moet het toch altijd zoeken en copy/pasten

Ik dacht een kleine file te maken die een paar dingen groepeert. Hiermee kan ik jQuery (en andere frameworks) meestal achterwege laten.

Ik focus me op twee dingen: Ajax en events binden.

utils.js
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/**
*  @file baic utilities.
*  If you don't feel like using a js framework, there is still a few utilities you constantly need.
*  I thought of two functionalities: binding events & Ajax
*  Feel free to expand/extend
*/

/**
* Ajax.  
*  made to look like jQuery's $.ajax(options);
*  Not too many fancy options (You make a request; you expect a success callback to be executed.  That's it); feel free to extend
*  required options: url & success
*  optional options (documentation: look at jQuery) : type ('get' or 'post'), dataType ('text', 'json', 'xml'), data
// Example of Usage  
  ajax({
    url: 'ajax.htm',
    success: display
  });
  function display(data) {
    document.getElementById('result').innerHTML = data;
  }
*/
var xmlhttp;
var ajax = function(options) {
  if (typeof xmlhttp == 'undefined') {
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  // merge options with defaults
  options = {
    url:      options.url,
    success:  options.success,
    type:     typeof options.type != 'undefined' ?      options.type      : 'get',
    data:     typeof options.data != 'undefined' ?      options.data      : null,
    dataType: typeof options.dataType != 'undefined' ?  options.dataType  : 'text'
  }
  // Ajax call
  xmlhttp.open(options.type, options.url, true);
  switch (options.dataType) {
    default:
      if (options.type == 'post') {
        xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      }
      else {
        xmlhttp.setRequestHeader('Content-type', 'text/plain;charset=UTF-8');
      }
      break;
    case 'json':
      xmlhttp.setRequestHeader('Content-type', 'application/json; charset=utf-8');
      break;
    case 'xml':
      xmlhttp.setRequestHeader('Content-type', 'text/xml; charset=utf-8');
      break;
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      switch (options.dataType) {
        default:
          options.success(xmlhttp.responseText);
          break;
        case 'json':
          // @see http://en.wikipedia.org/wiki/JSON
          var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
            xmlhttp.responseText.replace(/"(\\.|[^"\\])*"/g, ''))) &&
          eval('(' + xmlhttp.responseText + ')');
          options.success(my_JSON_object);
          break;
        case 'xml':
          options.success(xmlhttp.responseXML);
          break;
      }
    }
  }
  xmlhttp.send(options.data);
  return true;
}

/*
* Add event
*  @see http://net.tutsplus.com/tutorials/javascript-ajax/from-jquery-to-javascript-a-reference/
*  @author: Jeffrey Way
// Example of Usage  
var lis = document.getElementsByTagName('li');  
addEvent( lis, 'click', function() {  
    this.style.border = '1px solid red';  
});  
*/
var addEvent = (function( window, document ) {  
    if ( document.addEventListener ) {  
        return function( elem, type, cb ) {  
            if ( (elem && !elem.length) || elem === window ) {  
                elem.addEventListener(type, cb, false );  
            }  
            else if ( elem && elem.length ) {  
                var len = elem.length;  
                for ( var i = 0; i < len; i++ ) {  
                    addEvent( elem[i], type, cb );  
                }  
            }  
        };  
    }  
    else if ( document.attachEvent ) {  
        return function ( elem, type, cb ) {  
            if ( (elem && !elem.length) || elem === window ) {  
                elem.attachEvent( 'on' + type, function() { return cb.call(elem, window.event) } );  
            }  
            else if ( elem.length ) {  
                var len = elem.length;  
                for ( var i = 0; i < len; i++ ) {  
                    addEvent( elem[i], type, cb );  
                }  
            }  
        };  
    }  
})( this, document );


Simpel voorbeeldje van hoe het te gebruiken
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!doctype HTML>
<html>
  <head>
    <script src="utils.js"></script>
    <style>
      #click {
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <div id="click">click</div>
    <script>
      // simpel voorbeeld: we testen 1 event + 1 ajax call
      // als op de <div></div> gedrukt wordt, wordt een ajax call gemaakt; de respons wordt als innerHTML van die div gezet
      var click = document.getElementById('click');
      // event binden
      addEvent( click, 'click', function() {  
        // ajax call
        var a = ajax({
          url: 'ajax.htm',
          success: display
        });
      });
      // callback voor de ajax respons
      function display(data) {
        click.innerHTML = data;
      }
    </script>
  </body>
</html>
 
PHP hulp

PHP hulp

23/01/2020 13:15:03
 
Erwin H

Erwin H

13/07/2012 13:43:17
Quote Anchor link
Dus in feite maak je zo je eigen library/framework in plaats van JQuery. Niets mis mee lijkt mij.
 
Wouter J

Wouter J

13/07/2012 13:51:56
Quote Anchor link
Erwin, als je jQuery wilt vervangen ben je nog wel even bezig, alleen je gaat wel de goede kant op.

Misschien even een overzichtje maken van wat je eigenlijk vaak gebruikt van jQuery en die isoleren is natuurlijk een geweldig idee.

We kunnen wel met elkaar wat opzetten, gewoon aparte bestandjes met elk een functie/functies om iets makkelijk voor elkaar te krijgen. Bijv. het gebruik van querySelector(All) of Sizzle als selector engine, Base.js voor OO javascript, enz.
 
Kris Peeters

Kris Peeters

13/07/2012 13:59:53
Quote Anchor link
Ja, daar gaat het vooral om. Eens zien waar mensen jQuery echt voor nodig hebben.
Sowieso ontbreekt hier nog van alles.

Ik dacht toch vooral minimaal. Geen dingen zoals $.each (een for-loop kunnen we zelf wel maken); geen 10 wrapper functies voor ajax, die intern toch allemaal naar $.ajax leiden. ...

En ik heb het procedureel gemaakt; het kan even goed herschreven worden zodat het via 1 object gebeurt, zoals het jQuery ( of $ ) object.
Kwestie van smaak.
Gewijzigd op 13/07/2012 14:01:51 door Kris Peeters
 
Erwin H

Erwin H

13/07/2012 16:01:28
Quote Anchor link
Wouter J op 13/07/2012 13:51:56:
Erwin, als je jQuery wilt vervangen ben je nog wel even bezig

Ja duh... lijkt me een open deur.
 
Wouter J

Wouter J

13/07/2012 16:05:48
Quote Anchor link
Ik zou geen 1 object maken, maar zoals ze bij MooTools doen meerdere objecten. voorbeeldje
Gewijzigd op 13/07/2012 16:08:23 door Wouter J
 
Kris Peeters

Kris Peeters

13/07/2012 19:10:42
Quote Anchor link
Ja, dat ziet er wel proper uit.

Ik zal eens naar Mootols kijken, trouwens.
 
Wouter J

Wouter J

12/09/2012 19:54:36
Quote Anchor link
Even dit topic weer een zetje omhoog geven. Gister kwam ik langs een erg interessant artikel: Met behulp van node.js en grunt.js kun je je jQuery build customizen. Je kunt bijv. de AJAX of CSS module eruit halen of juist alleen de AJAX module en de functies die je daarvoor nodig hebt: http://net.tutsplus.com/tutorials/javascript-ajax/how-to-build-your-own-custom-jquery/

Ter volledigheid, MooTools is ook makkelijk te customizen. Zoek in de source code naar jou functie en kijk vervolgens welke andere klassen daar voor nodig zijn, dit vind je in het commentaar boven zo'n class. Dit kopieer je in je eigen bestand en klaar ben je.
Gewijzigd op 12/09/2012 23:14:22 door Wouter J
 
Kris Peeters

Kris Peeters

13/09/2012 10:18:52
Quote Anchor link
Fijn
 
Kris Peeters

Kris Peeters

11/02/2013 11:55:14
Quote Anchor link
oops, verkeerd knopje...
Gewijzigd op 11/02/2013 11:56:11 door Kris Peeters
 
Mebus  Hackintosh

Mebus Hackintosh

11/02/2013 12:09:41
Quote Anchor link
Kan je dan niet alles appart selecteren bij het downloaden van jquery? Bij mootools kan dat wel namelijk (:

edit:

Ik zie nu pas dat Wouter hetzelfde antwoord gaf.
Gewijzigd op 11/02/2013 12:11:41 door Mebus Hackintosh
 
Kris Peeters

Kris Peeters

11/02/2013 12:16:32
Quote Anchor link
jQuery-ui wel (draggable; accordion; slider; ...); jQuery niet (voor zover ik weet).

Maar dan nog, jquery werkt standaard met
$(elementen).evenement(callback);

Net niet wat ik probeer te doen.
Gewoon een paar functies om jQuery niet nodig te hebben; maar wel een paar elementaire wapens te hebben.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.