如何给动态创建的元素添加ondragstart=“drag(event)”(li)?

How to add ondragstart=“drag(event)” to a dynamically created elements (li)?

示例:

动态创建的列表标签:

var newli = document.createElement('li');
newli.id = "fstId";

如何给这个列表标记 属性 " ondragstart="drag(event)" "?

请多多指教...

谢谢。

拖放是传递给任何 DOM 元素的事件。在动态创建元素时,您首先必须启用其可拖动 属性 并添加用于拖动的事件以及在拖放中流过的其他事件,您可以在下面的详细信息中找到它

  1. https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API

此外,您可以像下面给出的那样添加这些事件和标志,

var node = document.createElement("li"); 
node.draggable = true;
node.addEventListener('drag', setDragging); 

这里的setDraging是一个回调函数,你必须在上面描述拖动时要做什么。您可以在下面找到完整的实现,但最好先转到我上面描述的上一个 link。这是完整的实现,

  1. https://medium.com/better-programming/create-a-sortable-list-with-draggable-items-using-javascript-9ef38f96b258