【解決方法】ポップアップをブートストラップしてkendo-popupをオーバーライドするにはどうすればよいですか?


私のアプリケーションの 1 つでは、剣道ウィンドウ ダイアログ ポップアップがたくさんあります。ボタンをクリックすると、剣道ポップアップが開きます。剣道ポップアップを開いている間、ユーザーは 1 分間アイドル状態になります。警告メッセージを表示する必要があります。どのメッセージがブートストラップダイアログで。 Bootstrap ダイアログが開いていますが、kendo の背後でダイアログが開きます。 ブートストラップ ダイアログの後ろに剣道ポップを表示する必要があります。 そこで、アプリケーションの実装に従ってサンプルデモを作成しました。1分後、ブートストラップモーダルが開きます。モーダルを開く前に、kendoポップアップを開きましたが、kendoポップアップの背後にそれが表示されています。

解決:

ブートストラップ モーダルを開いている間、すべての kendo-pop を閉じる必要があります。そうでない場合は、kendo ウィンドウの上部にブートストラップ ポップアップを表示する必要があります。

スタックオーバーフローを調べてください。

angularjs – angularjs – kendo-popupをオーバーライドしてポップアップをブートストラップする方法[^]

デモ:Kendo UI® Dojo by Progress[^]

私が試したこと:

<!DOCTYPE html>
<html>
<head>
    <base href="http://demos.telerik.com/kendo-ui/window/angular">
    <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
    <title></title>
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.common-material.min.css" />
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.material.min.css" />
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.material.mobile.min.css" />
  <link rel="stylesheet"href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>


    <script src="//kendo.cdn.telerik.com/2016.3.1118/js/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="//kendo.cdn.telerik.com/2016.3.1118/js/angular.min.js"></script>
    <script src="//kendo.cdn.telerik.com/2016.3.1118/js/kendo.all.min.js"></script>


  </head>
<body>
<div id="example" ng-app="KendoDemos">
  <button type="button" class="btn btn-default" id="clciks">Default</button>


      <div id="modeldialog">
                        <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" data-backdrop="static">
                            <div class="modal-dialog">
                                <div class="modal-content">
                                    <div class="modal-header">
                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"</button>
                                        <label class="session-expiration">
                                            <span>Session Expiration</span>
                                            <img src="~/Images/Warning_Alert_Icon_26.png">
                                        </label>
                                    </div>
                                    <div class="modal-body">
                                        <div class="session-message">
                                            <p class="time-message">your Session will expire in  "timer" class="fa fa-clock-o">.click proceed to stay Login.</p>
                                            <p class="time-message">^__b>Click Proceed to stay Login.</p>

                                        </div>
                                    </div>
                                    <div class="modal-footer">
                             <button type="button" class="btn btn-default" data-dismiss="modal" ng-click="LogOut()">Logout</button>
                              <button type="button" class="btn btn-primary" ng-click="proceed()">Proceed</button>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

    <div ng-controller="MyCtrl">
        <div class="demo-section k-content">
            <button class="k-button" ng-show="!win1visible" ng-click="win1.open()">Open Calendar</button>
            <button class="k-button" ng-show="!win2visible" ng-click="win2.open()">Open AJAX content</button>
        </div>
        <div kendo-window="win1" k-title="'Calendar'" k-on-open="win1visible = true" k-on-close="win1visible = false">
            <div kendo-calendar></div>
        </div>

        <div kendo-window="win2" k-title="'AJAX content'"
            k-width="600" k-height="200" k-visible="false"
            k-content="{ url: '../content/web/loremIpsum.html' }"
            k-on-open="win2visible = true" k-on-close="win2visible = false"></div>

    </div>
    <style>
        .example {
            min-height: 400px;
        }
    </style>
</div>

<script>
  angular.module("KendoDemos", [ "kendo.directives" ])
    .run(function($rootScope, $interval, $timeout) {
    alert("ss");
      var lastDigestRun = Date.now();
             var s = lastDigestRun + 1 * 60 * 1000;    
                    var idleCheck = $interval(function () {               
                    var now = Date.now();
                    var displaytime = now - lastDigestRun > 1 * 60 * 1000;
                    if (now - lastDigestRun > 1 * 60 * 1000) {
                           $('#myModal').modal('show');
                    }

            }, 60 * 1000);   
     })

      .controller("MyCtrl", function($scope){
          $scope.hello = "Hello from Controller!";
      });



  $(document).ready(function(){
    $("#clciks").click(function(){
    $('#myModal').modal('show');
    });
  });
</script>


</body>
</html>

解決策 1

通常、剣道のポップアップには 1 つまたは 2 つの div が表示されます。 ウィンドウがモデルまたは他のタイプのライトボックスの場合は、グレーアウトも表示されます。

剣道でこれらを画面の前面に表示する方法は、Z インデックスを設定することです。

例えば: z-index: 10003; ここのウィンドウに設定されています。Kendo UI ウィンドウのデモのイベント[^]

この z-index をオーバーライドするか、ブートストラップ ウィンドウにより高い値を使用する必要があります。

剣道は10kマークあたりに固執するので、20kが機能するはずです

解決策 4

@アンディ・ラン
ありがとう、素晴らしい。期待どおりに機能します。

解決策 5

<%-- --%>
近い

$(‘#searchPhoto’).click(関数 (id) {
// $(‘#first’).data(‘kendoWindow’).close();
$(‘#iframePhotoView’).attr(‘src’,
“../../../Masters/customerPhotoView.aspx”);
$(‘#ViewImage’).data(‘kendoWindow’).center().open();
});
ユーザーが alt p をクリックすると、このポップが開きますが、すぐに消えてしまいます。 この解決方法 少なくとも数秒間、またはユーザーがクラスウィンドウをクリックしないと、ポップアップが表示されます。必要なテキストボックスに空の税金ボックスフィールドがある場合のみです。 これを行う方法は、何が問題である可能性がありますか? ?

コメント

タイトルとURLをコピーしました