I found that the following jQuery (v1.10+) JavaScript does work in the case of text being auto-completed for HTML text input fields. This was tested to work reliably at least in Safari 6.1.1 on Mac OS X 10.8.5, but should work in other compliant browsers also:
$("input:text[id=text_field_id]").bind("focus change keyup blur", function(event) {
// handle text change here...
});
It seemed the addition of the blur
event handler was the key to making this work, although the other event handlers help ensure that the event handler is called any time the text changes, whether due to an edit or new input by the browser's auto-complete feature.
Simply replace the "input:text[id=text_field_id]"
code above with the relevant selector for your desired text input field, or if using the id
attribute to refer to your field, replace text_field_id
with your text field's id
attribute value.