Example page: http://jqueryfun.nathanielklee.com/eventFirefox.html
Following one example provided in an official jQuery tutorial (located at http://docs.jquery.com/Tutorials:How_jQuery_Works), I can pass "event" into a function I define directly in the click assignment handler. e.g. $("#something").click(function(event) { event.preventDefault (); }); However, if this is put into a for loop and modified to include a statement that requires a value of i from the for loop iteration, it won't work because when the handler is fired, it only knows the last iterative value of i. I get around that by instead making a call to a function that returns a function that executes the statements I want. e.g. $("#something").click(doSomething(i)); function doSomething(i) { return function() { alert(i) }; } So far, so good. The problem I run into is that I need to prevent the default behavior with event.preventDefault(). Browsers won't recognize if I pass "event" into the function even though the aforementioned tutorial indicates that one can indeed pass "event" into a function. How can I get around this problem? I realize that there are other ways I could do the same thing, such as applying a class to the links in question and referencing the event target (example below), but I'm interested in figuring out why the method I described above doesn't work and whether there's a way to get it to work. e.g. $("#something").click(doSomething); function doSomething(event) { alert($(event.target).attr("anAttribute")); } Thanks!