The issue is with Internet Explorer 8 and below. Have found a decent working solution.
Internet Explorer 8 and below is no
Your code is pretty much incorrect..
input inside label ?in your updated 4 you could do an event.stopPropagation for 'input` click and that would solve infinity problem