|
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