You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
7 years ago
|
// 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;
|
||
|
});
|