~caneypuggies/reformedchurcheslocator/couchapp-backbone

« back to all changes in this revision

Viewing changes to _attachments/js/vendor/modernizr/feature-detects/forms-inputnumber-l10n.js

  • Committer: Tim Black
  • Date: 2013-09-16 22:50:16 UTC
  • Revision ID: tim@alwaysreformed.com-20130916225016-zk8jiba25z33ew7h
Versioned Bower vendor directory

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// input[type="number"] localized input/output
 
2
// // Detects whether input type="number" is capable of receiving and
 
3
// // displaying localized numbers, e.g. with comma separator
 
4
// // https://bugs.webkit.org/show_bug.cgi?id=42484
 
5
// // Based on http://trac.webkit.org/browser/trunk/LayoutTests/fast/forms/script-tests/input-number-keyoperation.js?rev=80096#L9
 
6
// // By Peter Janes
 
7
 
 
8
Modernizr.addTest('localizedNumber', function() {
 
9
    var doc = document,
 
10
        el = document.createElement('div'),
 
11
        fake,
 
12
        root,
 
13
        input,
 
14
        diff;
 
15
    root = doc.body || (function() {
 
16
        var de = doc.documentElement;
 
17
        fake = true;
 
18
        return de.insertBefore(doc.createElement('body'), de.firstElementChild || de.firstChild);
 
19
    }());
 
20
    el.innerHTML = '<input type="number" value="1.0" step="0.1"/>';
 
21
    input = el.childNodes[0];
 
22
    root.appendChild(el);
 
23
    input.focus();
 
24
    try {
 
25
        doc.execCommand('InsertText', false, '1,1');
 
26
    } catch(e) { // prevent warnings in IE
 
27
    }
 
28
    diff = input.type === 'number' && input.valueAsNumber === 1.1 && input.checkValidity();
 
29
    root.removeChild(el);
 
30
    fake && root.parentNode.removeChild(root);
 
31
    return diff;
 
32
});