vex确认对话框,取消操作为默认值

时间:2014-02-17 20:20:49

标签: jquery dialog confirm

我正在尝试使用https://github.com/HubSpot/vex模式脚本进行确认对话。此时,如果出现确认对话框,则“ok”按钮被选为默认值。有谁知道我怎么能改变这个?我希望取消按钮是默认的,这样任何人都可以点击进入,没有任何反应。

感谢您的回答。

最好的问候 托马斯

2 个答案:

答案 0 :(得分:7)

设置数组中按钮的文本

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' })
    ]
 });

答案 1 :(得分:1)

要将其修改为默认行为,请更改vex 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
    ],
    ..
  }