Posts

Namespacing Event Handlers

Conflicting Events Handlers

Use event namespacing when attaching or detaching event listeners. This reduces the possibility of you accidentally removing event listeners that was not intended to be removed. This is especially important if you plan to use someone else's JQuery plugin that interacts with an element which you are also manipulating through your own event handler attachment or detachment. There could also be the opposite problem where someone else's JQuery plugin removes your attached listeners. This is why namespacing events is a good practice.

Categories: #JavaScript
Tags: #jQuery
Optional Options

Common Object Format

Most JQuery plugins will use the common format of customizing by providing a plain object to the plugin handler. This is well suited for plugins that provide a widget to your page where a callback might not be needed.

Categories: #JavaScript
Tags: #jQuery
JavaScript Quick Tips #3

Function Parameters from Array Values

Suppose we have a function with parameters and an array:

// A Function and an Array

function doSomething(stuff, thing1, thing2) {
  console.log("params were concatenated:" + " " + stuff + thing1 + thing2);
}

var justAnArray = ["a", "b", "c"];
Categories: #JavaScript
Tags: #jQuery
$.proxy

Getting the Right 'this'

With jQuery, you often find yourself using an event listener with a callback function like so:

// Common Event Handler

$(document).ready(function () {
  $(".my-element").click(function () {
    console.log("this is ", this);
  });
});
Categories: #JavaScript
Tags: #jQuery
Get Device Width

Detect Max Screen Width

When a browser is zoomed in or resized, the reported maximum device screen width may not be what you expect. For example, you have a 1280px by 800px screen and fully maximized browser screen at 100% zoom level, but when you zoom into the page and use window.innerWidth to determine the max width, the value may not be 1280px.

Categories: #JavaScript
Standalone Mocha with Component

Run Mocha on the Client Side

Install Nvm to install Node by following instructions here. Nvm allows you to switch to different versions of Node to manage dependencies. Install Component after Node is properly setup from here. Component is an asset management tool for the client side. After Nvm, Node and Component are working properly, make a directory on the desktop and change to it.

Categories: #JavaScript
Tags: #NodeJs