[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-30 Thread Michael Geary
Something I forgot to mention in my previous reply... To make sure it's clear what code is actually being run in the browser, never rely on looking at your JSP source to understand it. That's what threw you off here. The browser never sees your JSP source, only the HTML/JS/CSS/whatever files that

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-30 Thread Josh Powell
for (i = 1; i 5; i++) { $('#thumb' + i).bind('mouseover',function(event) { $(this).addClass('dim'); }); } The 'i' you've called here is a global variable, in a for loop always put a var in front of it to have local scope (to the function, not block) for (var i = 1; i 5;

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-30 Thread Kevin Dalman
Good points by Josh. However this selector example... $('img[class=thumb]).mouseover ...can be written simpler as $(img.thumb).mouseover It's faster in most browsers to select-by-class than to iterate elements and 'read attributes'. jQuery may process both syntaxes the same (?), but using

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-30 Thread kali
actually got solution in another forum (http://www.manning-sandbox.com/ thread.jspa?threadID=34108tstart=0) works like a charm!! :) namely: $('#image' + i).bind('mouseover', i, function(event) { $('#image' + event.data).addClass('dim'); }); as to other problem (var elem1 =

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-30 Thread Josh Powell
Even simpler: $('img.thumb').click(function () { $(this).toggleClass('dim'); });

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-30 Thread Josh Powell
kali - here is a way to accomplish the same thing in less code, and lets you call the images anything you want instead of having to use numbers. This is untested so there may be some slight errors, but the logic should be sound: $(function() { var imageArray = ['foo', 'bar', 'baz'];

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-30 Thread Josh Powell
sorry .up() is prototype... should be .parent() instead. On Aug 30, 1:20 pm, Josh Powell seas...@gmail.com wrote: kali - here is a way to accomplish the same thing in less code, and lets you call the images anything you want instead of having to use numbers.  This is untested so there may

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-29 Thread kali
yes I know they are two different things, I do know both JSP and JavaScript, so I do know the difference; I would like to know why what works in JSP doesn't work in JavaScript.. again: this works in JSP: % for (int i = 1; i 5; i++) { % $('#image%=i%').bind('mouseover',function(event) {

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-29 Thread Michael Geary
You can't call jQuery from JSP code, only from JavaScript. Your JSP code *generates* JavaScript code, which is what actually calls jQuery. In your JSP code, the loop is run in JSP, and it generates a separate block of JavaScript code each time through the loop. Here is the actual JavaScript

[jQuery] Re: event-binding to dynamically created elements... (JSP vs JS problem......)

2009-08-28 Thread James
I have difficulties understanding what you're trying to achieve. As someone mentioned, Java is to Javascript as Ham is to Hamster. They're two different beasts. For the 'elem+1' situation, you can do: this['elem'+1] = '...'; to dynamically create variables. But usually you don't have to