亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

最近雙擊的元素上的 .last.removeClass()

最近雙擊的元素上的 .last.removeClass()

吃雞游戲 2023-12-14 16:56:08
我有這個程序,允許用戶在雙擊 div 時編輯它。我試圖只讓最近雙擊的 div 有邊框。我現在正在使用 addClass 方法執行此操作,我使用此函數添加 .selceted 類:$(function () { $("div").dblclick(function (e) {     clickedTD = event.target;     $(clickedTD).find(clickedTD).last.removeClass("selected").addClass("selected");  }我試圖用這個刪除最后一個選定的 div,.find(clickedTD).last.removeClass("selected") 以便最近雙擊的 div 是唯一具有 .selected 類的 div。但這不起作用,我不確定為什么。這是我的完整代碼:var text;var selectedText;var blue = document.getElementById("blue");var blue2 = document.getElementById("blue2");var elementCounter = 0;function addElement() {   var classN = event.target.id; text = document.getElementById("input").value;  // create a new div element and give it a unique id  var newDiv = document.createElement("div");  newDiv.id = 'temp'+elementCounter;  newDiv.classList = "div";  elementCounter++  if (classN == "blue"){    newDiv.classList = "blue"      } else if (classN == "red"){        newDiv.classList = "red"      } else if (classN == "green"){        newDiv.classList = "green"      } else if (classN == "blue2"){        newDiv.classList = "blue2"      }  // and give it some content  var newContent = document.createTextNode(text);     // add the text node to the newly created div  newDiv.appendChild(newContent);    // add the newly created element and its content into the DOM  var currentDiv = document.getElementById("div1");   document.body.insertBefore(newDiv, currentDiv);   $(function() {        var currentlyDragged;     $("div").draggable({     drag: function (e) {         currentlyDragged = e.target.id         selectedText = event.target;         text = $(selectedText).html();         }    });$(function () {    $("div").dblclick(function (e) {        clickedTD = event.target;        $(clickedTD).find(clickedTD).last.removeClass("selected").addClass("selected");     }    );});  });  document.getElementById("input").value = " ";}
查看完整描述

1 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

你想要的是...

div數據庫點擊

  1. selected classdiv(實際上... div.selcted)中刪除

  2. 添加selected classdiv您 dbclicked 中。

input[type=text]改變

  1. 設置input[type=text].value_div.selcted.innerHTML

當你使用 jQuery 事件時,

有兩種方法可以獲得$this

讓我向您展示如何解決這個問題。

  1. 常規功能

 $('#elementId').on('click', function(){

     //1. Remove selected class from div

     $('div.selected').removeClass('selected');


     //2. Add selected class to $this

     const $this = $(this);

     $this.addClass('selected')

 });

箭頭功能


 $('#elementId').on('click', (_event) => {

     //1. Remove selected class from div

     $('div.selected').removeClass('selected');


     //2. Add selected class to $this

     const $this = $(_event.currentTarget); // important!

     $this.addClass('selected')

 });

最后,輸入的Change事件[type=text]


這次我將跳過箭頭功能。


$('#someInput').on('change', function(){

    const value = $(this).val();

    $('div.selcted').html(value);

});

完畢!


我建議您為 HTML DOM 設置 id 或 class。


如果將事件設置為 ['div', 'input' ...],則會產生副作用


不使用div,輸入


使用#element001(最佳)或div.myElement001


再見


查看完整回答
反對 回復 2023-12-14
  • 1 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號