autofill-event v0.0.1
Autofill event polyfill
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.
Install
bower install autofill-event
Usage
Add the script autofill-event.js after jQuery or Angular in your page.
This will do the following:
- after DOMContentLoaded: check all input fields
- a field is left: check all other fields in the same form
API (to manually trigger the check):
$el.checkAndTriggerAutoFillEvent(): Execute the check for all DOM elements in the given jQuery / jQLite element.
How it works
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
valueof the element with the remembered value. If it's different, trigger a change event.
Dependencies
AngularJS or jQuery (works with either one or both)
Tests
Unit tests (Travis CI)
npm installbower installnpm install karma -g- Run tests with jQuery:
karma start test/unit/config/karma-jquery.conf.js - Run tests with Angular:
karma start test/unit/config/karma-angular.conf.js
Manual Tests (live version)
npm installbower installscripts/webserver.js- open the manual runner and follow instructions
Notes:
- They need to be run with a webserver and without iframes, otherwise Chrome would not autofill username/password
12 years ago
