@@ -459,7 +459,9 @@ JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({
459459 self . rows [ i ] . delete_button = this . getButton ( self . getItemTitle ( ) , 'delete' , 'Delete ' + self . getItemTitle ( ) ) ;
460460 self . rows [ i ] . delete_button . className += ' delete' ;
461461 self . rows [ i ] . delete_button . setAttribute ( 'data-i' , i ) ;
462- self . rows [ i ] . delete_button . addEventListener ( 'click' , function ( ) {
462+ self . rows [ i ] . delete_button . addEventListener ( 'click' , function ( e ) {
463+ e . preventDefault ( ) ;
464+ e . stopPropagation ( ) ;
463465 var i = this . getAttribute ( 'data-i' ) * 1 ;
464466
465467 var value = self . getValue ( ) ;
@@ -499,7 +501,9 @@ JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({
499501 self . rows [ i ] . moveup_button = this . getButton ( '' , 'moveup' , 'Move up' ) ;
500502 self . rows [ i ] . moveup_button . className += ' moveup' ;
501503 self . rows [ i ] . moveup_button . setAttribute ( 'data-i' , i ) ;
502- self . rows [ i ] . moveup_button . addEventListener ( 'click' , function ( ) {
504+ self . rows [ i ] . moveup_button . addEventListener ( 'click' , function ( e ) {
505+ e . preventDefault ( ) ;
506+ e . stopPropagation ( ) ;
503507 var i = this . getAttribute ( 'data-i' ) * 1 ;
504508
505509 if ( i <= 0 ) return ;
@@ -525,7 +529,9 @@ JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({
525529 self . rows [ i ] . movedown_button = this . getButton ( '' , 'movedown' , 'Move down' ) ;
526530 self . rows [ i ] . movedown_button . className += ' movedown' ;
527531 self . rows [ i ] . movedown_button . setAttribute ( 'data-i' , i ) ;
528- self . rows [ i ] . movedown_button . addEventListener ( 'click' , function ( ) {
532+ self . rows [ i ] . movedown_button . addEventListener ( 'click' , function ( e ) {
533+ e . preventDefault ( ) ;
534+ e . stopPropagation ( ) ;
529535 var i = this . getAttribute ( 'data-i' ) * 1 ;
530536
531537 var rows = self . getValue ( ) ;
@@ -557,7 +563,9 @@ JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({
557563 this . title_controls . appendChild ( this . toggle_button ) ;
558564 var row_holder_display = self . row_holder . style . display ;
559565 var controls_display = self . controls . style . display ;
560- this . toggle_button . addEventListener ( 'click' , function ( ) {
566+ this . toggle_button . addEventListener ( 'click' , function ( e ) {
567+ e . preventDefault ( ) ;
568+ e . stopPropagation ( ) ;
561569 if ( self . collapsed ) {
562570 self . collapsed = false ;
563571 if ( self . panel ) self . panel . style . display = '' ;
@@ -592,7 +600,9 @@ JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({
592600 // Add "new row" and "delete last" buttons below editor
593601 this . add_row_button = this . getButton ( this . getItemTitle ( ) , 'add' , 'Add ' + this . getItemTitle ( ) ) ;
594602
595- this . add_row_button . addEventListener ( 'click' , function ( ) {
603+ this . add_row_button . addEventListener ( 'click' , function ( e ) {
604+ e . preventDefault ( ) ;
605+ e . stopPropagation ( ) ;
596606 var i = self . rows . length ;
597607 if ( self . row_cache [ i ] ) {
598608 self . rows [ i ] = self . row_cache [ i ] ;
@@ -613,7 +623,9 @@ JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({
613623 self . controls . appendChild ( this . add_row_button ) ;
614624
615625 this . delete_last_row_button = this . getButton ( 'Last ' + this . getItemTitle ( ) , 'delete' , 'Delete Last ' + this . getItemTitle ( ) ) ;
616- this . delete_last_row_button . addEventListener ( 'click' , function ( ) {
626+ this . delete_last_row_button . addEventListener ( 'click' , function ( e ) {
627+ e . preventDefault ( ) ;
628+ e . stopPropagation ( ) ;
617629 var rows = self . getValue ( ) ;
618630
619631 var new_active_tab = null ;
@@ -631,7 +643,9 @@ JSONEditor.defaults.editors.array = JSONEditor.AbstractEditor.extend({
631643 self . controls . appendChild ( this . delete_last_row_button ) ;
632644
633645 this . remove_all_rows_button = this . getButton ( 'All' , 'delete' , 'Delete All' ) ;
634- this . remove_all_rows_button . addEventListener ( 'click' , function ( ) {
646+ this . remove_all_rows_button . addEventListener ( 'click' , function ( e ) {
647+ e . preventDefault ( ) ;
648+ e . stopPropagation ( ) ;
635649 self . setValue ( [ ] ) ;
636650 if ( self . parent ) self . parent . onChildEditorChange ( self ) ;
637651 else self . jsoneditor . onChange ( ) ;
0 commit comments