// 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 = 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; });