Recent Posts

Can text nodes receive events?

One of the most annoying things that developers discovered when the first DOM-compliant browser, Netscape 6, was released had to do with events. Due to the new DOM event flow model, text nodes could receive events. The result was utterly confusing. Suppose you had the following code: <div id="myDiv">Click Me</div> If an event handler was... […]

How to markup blog comments?

I’m going through the painful process of redesigning my personal site in my spare time…okay, so I don’t really have spare time, but I’m finding a few moments before bed to work on it. I’m trying to make everything semantically correct in terms of the HTML I’m using, with the ultimate goal of top-notch accessibility... […]

Torn between two lovers

She’s a pretty girl, that’s for sure. Everywhere she goes, she gets noticed. It’s that sort of girl-next-door thing that gets everyone’s attention. Some would call her a hippy; she does like wearing her flip-flops and sundresses whenever possible. Growing up in Silicon Valley, she cares about the environment, loves diversity, and needs her double... […]

Getting element dimensions: A follow up

In my previous post I discussed the tragedy of the getBoundingClientRect() method and its different implementations. Reader Jose Jeria pointed out that Opera 9.5 has implemented the method as well and has used the Firefox method of originating at (0,0). Distraught over the need to use browser detection for a cross-browser solution, I started playing... […]

Getting element dimensions

Figuring out exactly where an element is on the page can be confusing. There’s all kinds of things to take into account, and the offsetTop and offsetLeft element properties require funky calculations to determine actual position as you step back up through the document hierarchy. The YUI DOM utility hides the ugliness from you by... […]

Microsoft to buy Yahoo!?

I’m sure by now that everyone has heard that Microsoft has bid for Yahoo! at a price of $31 per share. As you can probably imagine, there’s been a lot of buzz around the office today regarding this, from shock at the movement of the Yahoo! stock to jokes about how this would change our... […]

Book pre-release reviewers wanted

I’m about halfway through writing the second edition of Professional JavaScript for Web Developers, which was my very first book. I had a lot of people sign up to review pre-release chapters of the book as I’ve been writing it. Unfortunately, due to a number of circumstances, I’ve been left with a very small number... […]

The future of IE and the Web

Today felt like a nuclear bomb was dropped on the web development community. It didn’t seem so at first, but as the day went on and person after person chipped into the argument, I can honestly say I don’t remember such an uproar since I’ve been working in the industry. The reason for the uproar?... […]

Introducing JSONLib

A little while ago, I was complaining about the proposed JSON extensions to JavaScript 2.0 (Keep JSON out of JavaScript). At that time, Garrett challenged me to come up with a better way of doing it. He was right, it’s pointless to complain about something without suggesting a solution. Since that time, I’ve been formulating... […]

getElementsByClassName() weirdness

As I’m working on the next edition of Professional JavaScript, I’ve been updating rewriting a large amount of it to include more of the vendor-specific JavaScript extensions. Today I took a look at getElementsByClassName(), which is implemented in Firefox 3 Beta 2 and the latest builds of WebKit. This method is specified in HTML 5... […]

Copyright © 2004-2016 Nicholas C. Zakas. All Rights Reserved. All code examples on all pages, unless otherwise indicated, are BSD licensed. Blog Feed