function drag_drop(event) {
event.preventDefault(); /* Prevent undesirable default behavior while dropping */
var elem_id = event.dataTransfer.getData("text");
event.target.appendChild(document.getElementById(elem_id));
$('#app_status').innerHTML = "Dropped "+elem_id+" into the "+event.target.getAttribute('id');
document.getElementById(elem_id).removeAttribute("draggable");
document.getElementById(elem_id).style.cursor = "default";
droppedIn = true;
}
此功能工作正常,但是当我用jQuery的$()
方法,而不是document.getElementById
更新它给出了一个错误:
index.js:22 Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.
at drag_drop (index.js:22)
at HTMLDivElement.ondrop (index.html?_ijt=ifai0ih42qnjkillablo2ulcln:15)
更新后的功能如下:
function drag_drop(event) {
event.preventDefault(); /* Prevent undesirable default behavior while dropping */
var elem_id = event.dataTransfer.getData("text");
event.target.appendChild($('#' + elem_id));
$('#app_status').innerHTML = "Dropped "+elem_id+" into the "+event.target.getAttribute('id');
$('#' + elem_id).removeAttribute("draggable");
$('#' + elem_id).style.cursor = "default";
droppedIn = true;
}
'$(“#app_status”)。html(“Dropped”...)' - 您应该找到一本基本的jQuery书籍或教程。 – Pointy
似乎你正在混合'jquery'和'vanilla js' – kukkuz
app_status是元素的id,其中elem_id是可变的,其中包含id –