Does :on => blur works?

sorry, didn't fully read your question.

the only difference between onblur and onchange is that onblur fires
every time you move away from the text field, whereas onchange (on a
textfield) fires when you move away from the text field (just like
blur) but only when the value of the field is changed, ie, it won't
fire if you move away and the value stayed the same.

so yes, blur will behave just like change for a text field.

well, what behavior is it showing and what behavior are you expecting?

you say you want onblur, but you are seeing onchange.

so this means the event only fires when you change the field then move
focus away and what you want is for the event to fire whenever you
move focus away, whether the field value changes or not?

please clarify.