This is a polyfill that fires change events when browsers autofill form fields without firing a change event. The implementation is generic so it works in any application that uses either jQuery and/or Angular.
bower install autofill-event
Add the script autofill-event.js
after jQuery or Angular in your page.
This will do the following:
API (to manually trigger the check):
$el.checkAndTriggerAutoFillEvent()
:
Execute the check for all DOM elements in the given jQuery / jQLite element.Remember all changes to input elements by the user (listening for change events)
and also by JavaScript (by intercepting $el.val()
for jQuery / jQLite elements).
That changed value is stored on the element in a private property.
Checking an element for auto fill:
Compare the current value
of the element with the remembered value. If it's different,
trigger a change event.
AngularJS or jQuery (works with either one or both)
Unit tests (Travis CI)
npm install
bower install
npm install karma -g
karma start test/unit/config/karma-jquery.conf.js
karma start test/unit/config/karma-angular.conf.js
Manual Tests (live version)
npm install
bower install
scripts/webserver.js
Notes: