求教如何在对话框组件点击事件中改变location

mdui.JQ('#example-dialog').on('click', function(){
  mdui.dialog({
    title: 'title',
    content: 'content',
    buttons: [
      {
        text: '取消'
      },
      {
        text: '确认',
        onClick: function(inst){
          location.href='https://www.mdui.org'//这里不起作用
          window.open('https://www.mdui.org', '_self');//这里也无效
          window.open('https://www.mdui.org');//这里可以打开新页面
        }
      }
    ]
  });
});

请问怎么样才能让location.href='https://www.mdui.org'起作用啊<(_ _)>

共 3 个回答

或者取消监听haschange事件

mdui.JQ('#example-dialog').on('click', function(){
  mdui.dialog({
    title: 'title',
    content: 'content',
    history: false,
    buttons: [
      {
        text: '取消'
      },
      {
        text: '确认',
        onClick: function () {
            location.href = 'https://www.mdui.org'
        }
      }
    ]
  });
});

上面的回答又错了,又错了(>人<;)。应该是设置点击按钮后不关闭对话框。

mdui.JQ('#example-dialog').on('click', function(){
  mdui.dialog({
    title: 'title',
    content: 'content',
    buttons: [
      {
        text: '取消'
      },
      {
        text: '确认',
        close: false,    //问题在这里
        onClick: function () {
            location.href = 'https://www.mdui.org'
        }
      }
    ]
  });
});


好吧,我知道问题所在了。应该在onClose或者onClosed回调中执行

mdui.JQ('#example-dialog').on('click', function(){
  mdui.dialog({
    title: 'title',
    content: 'content',
    buttons: [
      {
        text: '取消'
      },
      {
        text: '确认'
      }
    ],
    onClosed: function () {
        location.href = 'https://www.baidu.com'
    }
  });
});