tl;dr: Use event.currentTarget unless you are absolutely certain that you need event.target. Since it hasn't been written down...

makandra dev
getmdl.io

CSS (+ some Javascript) framework, implementing Google's material design for static web pages. Can be used for plain websites without...

Disabling auto-complete in login forms is probably a bad idea, since it encourages weak passwords. If you are still...

makandra dev
eager.io

SmartUnderline is an open-source JavaScript library which uses clever tricks to draw underlines in a more beautiful and readable...

css-tricks.com

Insanely detailled guide about controlling copy & paste behavior using web technology in 2015. Note that you can now trigger a...

If you're supporting IE9+, you can listen to input to see if a text field changes. Other than change...

Developing complex regular expressions quickly blows my mind. Here are some online regex editors that help you by highlighting matching...

Note: Making a reverse proxy with nginx is much more straightforward. A reverse proxy is a "man in the middle...

When you register a delegated event using on (or the deprecated delegate / live), it is somewhat hard to manually trigger...

caniuse.com

All major browsers (IE8+, FF3.5+, Safari 4+, any Chrome) support sessionStorage, a JavaScript storage object that survives page reloads and...

makandra dev
nexts.github.io

Small (1.5 KB) Javascript library that lets you render tables, lists, etc. with hundreds of thousands of items.

When ending a Selenium test Capybara resets the browser state by closing the tab, clearing cookies, localStorage, etc.

You know that ActiveRecord caches associations so they are not loaded twice for the same object. You also know that...

makandra dev
relishapp.com

RSpec 3 has verifying doubles. This breed of mock objects check that any methods being stubbed are present on an...

docs.angularjs.org

If you are using Coffeescript, it is likely to be the culprit. Since Coffeescript always returns the value of...

blog.carbonfive.com

What if a complicated component comes along that is naturally modeled by multiple directives? This group of directives, as a...

makandra dev

Check your GPU state on chrome://gpu. If it reads "WebGL: Hardware accelerated" in the first list, you're set...

Write a // and indent every subsequent line by two spaces. This is great for documenting BEM blocks! // An action button...

patrickmarabeas.github.io

Webfonts are not always available when your JavaScript runs on first page load. Since fonts may affect element sizes, you...

makandra dev
stackoverflow.com

When a CSS3 animation makes the animated element flicker, it may well be due to pixel fragments being handled differently...

jQuery doesn't store information about event listeners and data values with the element itself. This information is instead stored...

This guide shows how to create an AngularJS application that consumes more and more memory until, eventually, the browser process...

The easiest way to detect touch-capable browsers is to check for the presence of touch events. It is no...

coffeescript.org

The Javascript in operator does what Hash#has_key? does in Ruby: Return whether an object has a property.