2 回答

TA貢獻1911條經驗 獲得超7個贊
只需“dragstart”而不是“ondragstart”事件:
for (const character of result) {
let image = document.createElement("img");
image.src = character.src;
image.setAttribute('data-jval', character.jval);
image.setAttribute('id', character.id);
image.setAttribute('class', character.class)
image.setAttribute('draggable', 'true')
// the below function isn't being added to the divs
image.addEventListener('dragstart', drag);
let wrapper = document.createElement('div');
wrapper.appendChild(image);
section.appendChild(wrapper);
}
function drag(event) {
let data = event.target.dataset.jval;
event.dataTransfer.setData("text", data);
}
因此,基本上,當您編寫內聯事件處理程序時,您可以在事件之前添加前綴on,就像之前將事件處理程序放入標記中一樣img。對于任何其他事件也是如此:
click => onclick
submit => onsubmit
keydown => onkeydown

TA貢獻1830條經驗 獲得超3個贊
#try to add Semicolon;
image.setAttribute('class', character.class);
image.setAttribute('draggable', 'true');
// the below function isn't being added to the divs
image.addEventListener('ondragstart', function(event){
let data = event.target.dataset.jval;
event.dataTransfer.setData("text", data);
});
添加回答
舉報