@@ -34,16 +34,21 @@ var Nette = {};
3434 * Attaches a handler to an event for the element.
3535 */
3636Nette . 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