the problem
this works fine:
$('#edit_curriculum .generated').children().blur(function(){
console.log(this);
});
but this doesn’t:
$('#edit_curriculum .generated').children().live('blur', function(){
console.log(this);
});
obs: the functions are wrapped in a $(document).ready event.
the outputs
working:
<input type="text" name="phones[]" class="medium phone valid">
not working:
Uncaught Syntax error, unrecognized expression: )
k.errorjquery.js:17
k.filterjquery.js:17
kjquery.js:17
c.querySelectorAll.kjquery.js:17
k.matchesSelectorjquery.js:17
f.extend.filterjquery.js:17
f.fn.extend.isjquery.js:17
f.fn.extend.closestjquery.js:17
Njquery.js:16
f.event.handlejquery.js:17
f.event.add.k.i.handle.kjquery.js:16
f.event.triggerjquery.js:17
ejquery.js:17
From jQuery live() documentation:
This function is meant to work on a
selector, not a collection of elements. I would use the following syntax:This selector will get any immediate children (hence what you had before) but with
selectionand nottraversal. This should allow you to uselive()as you would expect. Hope this helps!