Как получить доступ и изменить стиль добавляемого элемента - PullRequest
0 голосов
/ 18 февраля 2020

После удаления я добавляю дочерний элемент в контейнер.

Мое требование - добавить дочерний элемент в позицию курсора. Чтобы сделать это, мне нужен доступ к стилю child, который я добавляю.

Я делаю это как data.style={{...}}. Но он говорит как

Невозможно установить свойство 'style' из неопределенного

 drop(event) {
      event.preventDefault();
      var data= event.dataTransfer.getData("Text");
      //data.style={position:"relative"}

      event.target.appendChild(document.getElementById(data));
      console.log(event.clientX)
      data.target.style={
        left : event.clientX + 'px',
        top : event.clientY+ 'px'
      }

1 Ответ

0 голосов
/ 18 февраля 2020

стиль undefined

Поскольку селектор не определен, и это должно быть потому, что если data является узлом, то он выиграл не имеет target свойства. Таким образом, вместо этого вы должны сделать это непосредственно на data:

data.style={
    left : event.clientX + 'px',
    top : event.clientY+ 'px'
}

Или вы можете изменить свой код следующим образом:

drop(event) {
  event.preventDefault();
  var data = document.getElementById(event.dataTransfer.getData("Text"));
  //data.style={position:"relative"}
  event.target.appendChild(data);
  console.log(event.clientX)
  data.style = {    // <------------apply styles on "data" node
    left: event.clientX + 'px',
    top: event.clientY + 'px'
  }
}
...