天天看點

使用Bootstrap制作右鍵單擊自定義菜單

我們可以輕松地通過右鍵單擊建立一個漂亮的自定義菜單。

讓我們建立一個div右鍵單擊啟用自定義菜單。

<div class="col-lg-6 bg-info" id="dv_rc" style="height:400px;" >
Right Click here
</div>
           

要防止預設右鍵單擊菜單,我們需要在head标記中添加以下代碼:

$(document).ready(function () {
$("#dv_rc").bind('contextmenu', function (e) {
e.preventDefault(); // prevents default menu 
});
});
           

現在,我們需要為右鍵菜單制作一個面闆:

<div id="popupRC" style="display:none;" 

class="panel panel-primary  ">
        <div class="panel-heading ">Right Click Window</div>
        <div class="panel-body">
          
                <div class="form-group">
                    <label class="control-label col-md-2">Color</label>

                    <input type="color" 

                    class="form-control" id="idcolorr" />
                </div>
          
        </div>
        <div class="panel-footer"><input type="button"  

        class="btn btn-danger" value="close"  /></div>
    </div>
           

請注意style="display:none;"。這背後的原因是在右鍵單擊之前不顯示。

現在我們需要在右鍵單擊顯示它。

我們在之前添加的jquery中添加了一行代碼,以修改CSS,使其顯示并定位在單擊的右下方。

$("#dv_rc").bind('contextmenu', function (e) {
e.preventDefault(); // prevents native menu from being shown
 $("#popupRC").css({ position: "absolute", top: e.pageY, 
left: e.pageX, display: "block" });
});
           

現在添加一些代碼,點選close面闆按鈕關閉此視窗。

<input type="button" class="btn btn-danger" 
       value="close" onClick="$('#popupRC').css({ display: 'none' });" />
           

完整代碼如下:

<!DOCTYPE html>
<html>
<head>
    <title>自定義右擊菜單</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" target="_blank" rel="external nofollow" >

    <!-- jQuery library -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

    <!-- Latest compiled JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
	<script>
        $(document).ready(function () {

            $("#dv_rc").bind('contextmenu', function (e) {
                e.preventDefault(); // prevents default menu 
               
                $("#popupRC").css({ position: "absolute", top: e.pageY, left: e.pageX, display: "block" });

            });
         
        });
     </script>
        
    <meta charset="utf-8" />
</head>
<body>
<div class="col-lg-6 bg-info" id="dv_rc" style="height:400px;" >
<h3>Right Click here </h3>
</div>
    <div class="col-lg-6 bg-primary" style="height:400px;" >   
    </div>
    <div id="popupRC" style="display:none;" class="panel panel-primary  ">
        <div class="panel-heading ">Right Click Window</div>
        <div class="panel-body">          
                <div class="form-group">
                    <label class="control-label col-md-2">Color</label>

                    <input type="color" class="form-control" id="idcolorr" />
                </div>          
        </div>
        <div class="panel-footer"><input type="button"  class="btn btn-danger" value="close" onClick="$('#popupRC').css({ display: 'none' });" /></div>
    </div>
</body>
</html>
           

原文位址:https://www.codeproject.com/Tips/1172961/Custom-Menu-With-Right-Click-Using-Bootstrap

繼續閱讀