无法使dirtyforms插件与bootstrap 3模式一起使用

时间:2018-06-07 06:25:29

标签: javascript asp.net-mvc twitter-bootstrap-3 jquery-dirtyforms

我们目前正致力于使用ASP.NET MVC5和几个javascript库(如jquery,bootstrap 3和现在的jquery.dirtyforms)实现的中型Web应用程序。

我查看了有关如何处理bootstrap3模式对话框的脏检查的建议文档,但是空白了。

我遇到的问题是我无法找到防弹解决方案。已经进行了几次尝试,但在某些方面都失败了。

模态对话框有两个按钮关闭和保存(有些按钮也有其他按钮),但只有关闭按钮才会导致脏检查。使用标准bootstrap data-dismiss =" modal"关闭模态。属性。

最明显的处理方法是连接到boostrap模态隐藏事件,例如:

Editor::Editor(...){

   effeMenu.setTitle("Menu");
   QString  menuStyle(
           "QMenu {"
           "border:10px };"
             //more code here
            );

    effeMenu.setStyleSheet(menuStyle);

    AmpMenu=effeMenu.addMenu(QIcon(":/effectImg/img/effePng/amp.png"),"Amp");
    Amp1 =AmpMenu->addAction(QIcon(":/effectImg/img/effePng/amp.png"),"Amp 1");
    Amp2 =AmpMenu->addAction(QIcon(":/effectImg/img/effePng/amp.png"),"Amp 2");
    CabMenu=effeMenu.addMenu(QIcon(":/effectImg/img/effePng/cab.png"),"Cab");
    Cab1 =CabMenu->addAction(QIcon(":/effectImg/img/effePng/cab.png"),"Cab 1");
    Cab2 =CabMenu->addAction(QIcon(":/effectImg/img/effePng/cab.png"),"Cab 2"); 
    ...
}

void Editor::showContextMenu(const QPoint &pos){
     QGraphicsItem *item =itemAt(pos);
     QAction *action = menu.exec(pos);
     menuSelection(action, item);
}

我认为隐藏事件会触发脏检查,确定它会发生。但是当我点击按钮忽略它时,模态不会关闭。

第二次尝试是添加如上所述的自定义事件列表器,但是在按钮上侦听点击事件。我们创建了一个自定义css类"脏检查"我们在所有按钮上添加了触发脏检查并进行了如下设置:

 $(document).bind('bind.dirtyforms', function (ev, events) {
        var originalBind = events.bind;

        events.bind = function (window, document, data) {
            originalBind(window, document, data);
            $(document).bind('hide.bs.modal', function (d) {
                previousTab = d.relatedTarget;
                events.onAnchorClick(d);
            });
         };
    });

现在我们正在谈论!单击带有脏检查类的按钮导致脏检并按下"保持"它停留并按下"忽略"它像我们想要的那样关闭模态。尽管幸福是短暂的,因为它似乎只是第一次打开模态。第二次打开模态时,脏检查对表单起作用(它设置了css类isdirty),但是单击按钮时没有执行检查。不知何故,事件不再起作用,我们无法弄清楚原因。我们尝试在document.ready中添加上面的代码,以查看模式是否有用,但遗憾的是没有。

我做错了什么?肯定脏的检查引导模式对话框应该是这个框架最常见的事情之一?我们必须在代码或设置中遗漏一些东西。使用bootstrap 3的这个库的正确方法是什么?

0 个答案:

没有答案