@@ -34,16 +34,21 @@ var Nette = {};
34
34
* Attaches a handler to an event for the element.
35
35
*/
36
36
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
+ }
44
42
} ;
45
43
46
44
45
+ function getHandler ( callback ) {
46
+ return function ( e ) {
47
+ return callback . call ( this , e ) ;
48
+ } ;
49
+ }
50
+
51
+
47
52
/**
48
53
* Returns the value of form element.
49
54
*/
@@ -559,15 +564,16 @@ Nette.initOnLoad = function() {
559
564
}
560
565
561
566
Nette . addEvent ( document . body , 'click' , function ( e ) {
562
- var target = e ? e . target : event . srcElement ;
567
+ var target = e . target || e . srcElement ;
563
568
if ( target . form && target . type in { submit : 1 , image : 1 } ) {
564
569
target . form [ 'nette-submittedBy' ] = target ;
565
570
}
566
571
} ) ;
567
572
568
573
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 ) ;
571
577
}
572
578
} ) ;
573
579
} ) ;
0 commit comments