Answered before by Andy-e and found here: Event on a disabled input
Disabled elements don't fire mouse events. Most browsers will
propagate an event originating from the disabled element up the DOM
tree, so event handlers could be placed on container elements.
However, Firefox doesn't exhibit this behaviour, it just does nothing
at all when you click on a disabled element.
I can't think of a better solution but, for complete cross browser
compatibility, you could place an element in front of the disabled
input and catch the click on that element. Here's an example of what I
mean:
<div style="display:inline-block; position:relative;">
<input type="text" disabled />
<div style="position:absolute; left:0; right:0; top:0; bottom:0;"></div>
</div>
jquery:
$("div > div").click(function (evt) {
$(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});
Example: http://jsfiddle.net/RXqAm/170/ (updated to use jQuery 1.7 with prop
instead of attr
).