Wednesday, 15 August 2012

jquery - How to send parameter with a 'on' listener? -



jquery - How to send parameter with a 'on' listener? -

i not able send parameter on listener. here code:

$.each(this.elements, function(i,element){ var tagname = $(element).prop('type').touppercase(); switch(tagname) { case "text" : case "textarea" : $(element).on('focus input focusout', that.inputhandler, tagname); //not working case "select-one" : $(element).on('change focusout', tagname, that.selecthandler); //not working case "radio" : case "checkbox" : $(element).on('change focusout', tagname, that.changehandler); } });

example :

this.inputhandler = function (e,tagname) { console.log(e,tagname); //i getting error. how prepare this? var val = $(this).val(); this.errorhandler(val); }

can 1 suggest me right way please? in advance.

the problem seems tagname string, in such case jquery assume delegated event handler instead of interpreting data. try

$(element).on('change focusout', {tagname:tagname}, that.changehandler);

then can access tagname event object like

event.data.tagname

demo: fiddle

jquery javascript-events

No comments:

Post a Comment