removeClass然后addClass不工作

时间:2018-04-05 12:16:59

标签: javascript jquery html html5

当我点击div时,该div被黑线覆盖。

但是当我点击任何其他div时,我希望旧div删除那些黑线,只有current div应该有边框。以下是我要遵循的代码:

var addDiv = document.getElementById("addDiv");

addDiv.addEventListener("contextmenu", function(event) {
  event.preventDefault();

  if ($(event.target).hasClass('context_menu')) {
    $(event.target).siblings('.clickedDiv').removeClass('clickedDiv');
    $(event.target).addClass('clickedDiv');
    console.log($(event.target).addClass('clickedDiv'));
  } else {
    $(event.target).parent().addClass('clickedDiv');
  }

  $("#ctxMenu").css({
    'top': event.pageY,
    'left': event.pageX
  }); // only this line to be added
  $("#ctxMenu").show();
}, false);

addDiv.addEventListener("click", function(event) {
  $("#ctxMenu").hide();
}, false);

右键单击会触发上面的代码。

我希望当我右键单击id为#addDiv的div时,它应该从任何地方删除'clickedDiv`类,然后继续使用代码在所单击的div上添加类。

我的HTML代码:

<div id="addDiv" [innerHtml]="divCode | noSanitize"></div>
<div id="ctxMenu" style="display:none">
  <ul id="ctxImage" style="display:none">
    <li (click)="clone()">Clone</li>
    <li (click)="changeImg()">Change Image</li>
  </ul>
</div>

2 个答案:

答案 0 :(得分:0)

向所有div添加第二个类,然后从第二个类的每个成员中删除clickedDiv类。

类似的东西:

$(".clickableDiv").on("contextmenu", function() {
    $(".clickableDiv").removeClass("clickedDiv");
    $(this).addClass("clickedDiv");
});

HTML:

<div class="clickableDiv" id="div_1"></div>
<div class="clickableDiv" id="div_2"></div>
<div class="clickableDiv" id="div_3"></div>

答案 1 :(得分:0)

将您的代码更新为以下内容:

restTemplate.exchange

您应该使用org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not deserialize instance of double out of START_OBJECT token at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@552b744a; line: 5, column: 44] (through reference chain: *.GetPassengersData["data"]->*.GetPassengersDataItem["total"]); nested exception is org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of double out of START_OBJECT token $("#addDiv").bind("contextmenu",function(event){ event.preventDefault(); if($(event.target).hasClass('context_menu')){ $(event.target).siblings('.clickedDiv').removeClass('clickedDiv'); $(event.target).addClass('clickedDiv'); console.log($(event.target).addClass('clickedDiv')); } else{ $(event.target).parent().addClass('clickedDiv'); } $("#ctxMenu").css({'top':event.pageY,'left':event.pageX}); // only this line to be added $("#ctxMenu").show(); },false); $('#addDiv').on("click",function(event){ $("#ctxMenu").hide(); },false); 来注册事件监听器。