|
35 | 35 |
|
36 | 36 |
|
37 | 37 | /** |
38 | | - * Attaches a handler to an event for the element. |
| 38 | + * Function to execute when the DOM is fully loaded. |
| 39 | + * @private |
39 | 40 | */ |
40 | | - Nette.addEvent = function(element, on, callback) { |
41 | | - if (on === 'DOMContentLoaded' && element.readyState !== 'loading') { |
| 41 | + Nette.onDocumentReady = function(callback) { |
| 42 | + if (document.readyState !== 'loading') { |
42 | 43 | callback.call(this); |
43 | | - } else if (element.addEventListener) { |
44 | | - element.addEventListener(on, callback); |
45 | | - } else if (on === 'DOMContentLoaded') { |
46 | | - element.attachEvent('onreadystatechange', function() { |
47 | | - if (element.readyState === 'complete') { |
48 | | - callback.call(this); |
49 | | - } |
50 | | - }); |
51 | 44 | } else { |
52 | | - element.attachEvent('on' + on, getHandler(callback)); |
| 45 | + document.addEventListener('DOMContentLoaded', callback); |
53 | 46 | } |
54 | 47 | }; |
55 | 48 |
|
56 | 49 |
|
57 | | - function getHandler(callback) { |
58 | | - return function(e) { |
59 | | - return callback.call(this, e); |
60 | | - }; |
61 | | - } |
62 | | - |
63 | | - |
64 | 50 | /** |
65 | 51 | * Returns the value of form element. |
66 | 52 | */ |
|
634 | 620 |
|
635 | 621 | for (var i = 0; i < els.length; i++) { |
636 | 622 | if (els[i].name === name && handled.indexOf(els[i]) < 0) { |
637 | | - Nette.addEvent(els[i], 'change', handler); |
| 623 | + els[i].addEventListener('change', handler); |
638 | 624 | handled.push(els[i]); |
639 | 625 | } |
640 | 626 | } |
|
676 | 662 |
|
677 | 663 | form.noValidate = true; |
678 | 664 |
|
679 | | - Nette.addEvent(form, 'submit', function(e) { |
| 665 | + form.addEventListener('submit', function(e) { |
680 | 666 | if (!Nette.validateForm(form)) { |
681 | 667 | e.stopPropagation(); |
682 | 668 | e.preventDefault(); |
|
689 | 675 | * @private |
690 | 676 | */ |
691 | 677 | Nette.initOnLoad = function() { |
692 | | - Nette.addEvent(document, 'DOMContentLoaded', function() { |
| 678 | + Nette.onDocumentReady(function() { |
693 | 679 | for (var i = 0; i < document.forms.length; i++) { |
694 | 680 | var form = document.forms[i]; |
695 | 681 | for (var j = 0; j < form.elements.length; j++) { |
|
700 | 686 | } |
701 | 687 | } |
702 | 688 |
|
703 | | - Nette.addEvent(document.body, 'click', function(e) { |
| 689 | + document.body.addEventListener('click', function(e) { |
704 | 690 | var target = e.target; |
705 | 691 | while (target) { |
706 | 692 | if (target.form && target.type in {submit: 1, image: 1}) { |
|
0 commit comments