所选event.target的父div的边框轮廓

时间:2018-09-06 12:27:55

标签: javascript jquery html

我想在所选event.target父div 周围给出边框轮廓。

// when we're about to show the context menu, show our own instead
$(document).on("contextmenu", function(event) {
  // Avoid the real one if this is the link
  if ($(event.target).hasClass("sim-row-edit")) {
	  console.log("right click identified");
$(event.target).parent().css("border", "1px solid red");
    event.preventDefault();
	clicked_link = $(event.target).text();
	clicked_url = $(event.target).attr("href");
	clicked_id = $(event.target).attr("id");
	
	
	
	//alert(clicked_link);
    // Show contextmenu
    $(".custom-menu").show(100).
    css({
      top: event.pageY + "px",
      left: event.pageX + "px"
    });
  }
});

// hide our context menu when the document is clicked
$(document).on("mouseup", function() {
  $(".custom-menu").hide(100);
});

$(".custom-menu li").click(function() {
  //alert("hii2");
  // This is the triggered action name
  switch ($(this).attr("data-action")) {
    // A case for each action. Should personalize to your actions
    case "first":
     // console.log("first");
	   console.log("-----");
	   console.log(clicked_link);
	   console.log(clicked_url);
	   console.log(clicked_id);
	   
	
	  //console.log($(this).parent().text());
      break;
    case "second":
      console.log("second");
      break;
    case "third":
      console.log("third");
      break;
  }
});
.custom-menu {
  display: none;
  z-index: 1000;
  position: absolute;
  background-color: #fff;
  border: 1px solid #ddd;
  overflow: hidden;
  width: 120px;
  white-space: nowrap;
  font-family: sans-serif;
  -webkit-box-shadow: 2px 2px 7px 0px rgba(50, 50, 50, 0.5);
  -moz-box-shadow: 2px 2px 7px 0px rgba(50, 50, 50, 0.5);
  box-shadow: 2px 2px 7px 0px rgba(50, 50, 50, 0.5);
}

.custom-menu li {
  padding: 5px 10px;
}

.custom-menu li:hover {
  background-color: #4679BD;
  cursor: pointer;
}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
	<link href="style.css" rel="stylesheet" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    <title>title</title>
  </head>
  <body>
  
  <div>
  Lorem Ipsum..
  
  <a href="http://goo.com" id="id-goo" class="sim-row-edit" data-type="link">right click on me and my parent div should get a border line</a>
  </div>
   
   <div class="sim-row-edit">
   <a href="http://voo.com" id="id-voo"  data-type="link">voo</a>
   </div>
   
<ul class='custom-menu'>
  <li data-action = "first">Get Name</li>
  <li data-action = "second">Second thing</li>
  <li data-action = "third">Third thing</li>
</ul>

<script type="text/javascript" src="script.js"></script>
  </body>
</html>

2 个答案:

答案 0 :(得分:1)

您可以使用

$(event.target).parent().addClass("selected"); 

为父项添加边框。

将此CSS添加到样式表中

.selected {
  border: 1px solid red;
}

要删除边框,您可以使用

// hide our context menu when the document is clicked
$(document).on("mouseup", function() {
  $(".custom-menu").hide(100);
  $(".selected").removeClass("selected");
});

答案 1 :(得分:0)

您可以使用.closest(selector)的{​​{1}}方法来查找父div

jQuery