Skip to content

Commit 97a6638

Browse files
jahudkadg
authored andcommitted
netteForms.js: addEvent() uses addEventListener or attachEvent
1 parent e9849ef commit 97a6638

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/assets/netteForms.js

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,21 @@ var Nette = {};
3434
* Attaches a handler to an event for the element.
3535
*/
3636
Nette.addEvent = function(element, on, callback) {
37-
var original = element['on' + on];
38-
element['on' + on] = function() {
39-
if (typeof original === 'function' && original.apply(element, arguments) === false) {
40-
return false;
41-
}
42-
return callback.apply(element, arguments);
43-
};
37+
if (element.addEventListener) {
38+
element.addEventListener(on, callback);
39+
} else {
40+
element.attachEvent('on' + on, getHandler(callback));
41+
}
4442
};
4543

4644

45+
function getHandler(callback) {
46+
return function(e) {
47+
return callback.call(this, e);
48+
};
49+
}
50+
51+
4752
/**
4853
* Returns the value of form element.
4954
*/
@@ -559,15 +564,16 @@ Nette.initOnLoad = function() {
559564
}
560565

561566
Nette.addEvent(document.body, 'click', function(e) {
562-
var target = e ? e.target : event.srcElement;
567+
var target = e.target || e.srcElement;
563568
if (target.form && target.type in {submit: 1, image: 1}) {
564569
target.form['nette-submittedBy'] = target;
565570
}
566571
});
567572

568573
Nette.addEvent(document.body, 'change', function(e) {
569-
if (e.target['nette-toggleForm']) {
570-
Nette.toggleForm(e.target.form, e.target);
574+
var target = e.target || e.srcElement;
575+
if (target['nette-toggleForm']) {
576+
Nette.toggleForm(target.form, target);
571577
}
572578
});
573579
});

0 commit comments

Comments
 (0)