2014-02-17 3 views
3

Я пытаюсь использовать модальный скрипт https://github.com/HubSpot/vex для подтверждения-диалога. На данный момент, если появится диалоговое окно подтверждения, по умолчанию выбран «ok» -button. Кто-нибудь знает, как я могу это изменить? Я бы хотел, чтобы кнопка отмены была по умолчанию, чтобы кто-то нажал только войти, ничего не происходит.vex confirm dialog, cancel-action по умолчанию

спасибо за ваш ответ.

наилучшие пожелания томас

+0

Опубликовать свой html и JavaScript – n1k1ch

ответ

6

установить текст кнопки в вашем массиве

vex.dialog.open({   
    message: 'Are you absolutely sure you want to destroy the alien planet?', 
    overlayClosesOnClick: false, // set false to click out 
    callback: function (value) { 
     console.log(value); 
    }, 
    buttons: [ 
     $.extend({}, vex.dialog.buttons.YES, { text: 'Your Button For Yesy' }), 
     $.extend({}, vex.dialog.buttons.NO, { text: 'Your Button For No' }) 
    ] 
}); 
+0

Спасибо за ваш ответ. Это хорошо работает внутри диалогового окна, но если я закрываю его, он делает действие за неправильную кнопку (формально отменяет, теперь нормально), как я могу это изменить? –

+0

Я отредактировал мой вопрос. set overlayClosesOnClick false для отключения клика –

0

Чтобы изменить это как поведение по умолчанию, изменить порядок кнопок и имя класса в Вексе JavaScript файла. (vex.combined.js)

Это сделает кнопку «Отмена» кнопкой по умолчанию.

dialog.buttons = { 
     NO: { 
      text: 'Cancel', 
      type: 'button', 
      className: 'vex-dialog-button-primary', 
      click: function noClick() { 
      this.value = false 
      this.close() 
      } 
     }, 
     YES: { 
      text: 'OK', 
      type: 'submit', 
      className: 'vex-dialog-button-secondary', 
      click: function yesClick() { 
      this.value = true 
      } 
     } 
} 

dialog.defaultOptions = { 
    .. 
    buttons: [ 
     dialog.buttons.NO, 
     dialog.buttons.YES 
    ], 
    .. 
    }