1234567891011121314151617181920212223242526272829303132 |
- // input[type="number"] localized input/output
- // // Detects whether input type="number" is capable of receiving and
- // // displaying localized numbers, e.g. with comma separator
- // // https://bugs.webkit.org/show_bug.cgi?id=42484
- // // Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/forms/script-tests/input-number-keyoperation.js?rev=80096#L9
- // // By Peter Janes
- Modernizr.addTest('localizedNumber', function() {
- var doc = document,
- el = document.createElement('div'),
- fake,
- root,
- input,
- diff;
- root = doc.body || (function() {
- var de = doc.documentElement;
- fake = true;
- return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild);
- }());
- el.innerHTML = '<input type="number" value="1.0" step="0.1"/>';
- input = el.childNodes[0];
- root.appendChild(el);
- input.focus();
- try {
- doc.execCommand('InsertText', false, '1,1');
- } catch(e) { // prevent warnings in IE
- }
- diff = input.type === 'number' && input.valueAsNumber === 1.1 && input.checkValidity();
- root.removeChild(el);
- fake && root.parentNode.removeChild(root);
- return diff;
- });
|