我有一个使用 JavaScript 的带有 JSP 的 Maven Jetty 项目。我希望能够突出显示与拖动图像的大小相对应的画布部分。
当我通过简单地在浏览器中打开它来查看我的 JSP 时,一切都按预期工作,但是当我以目标 jetty:run 启动 Jetty 服务器时,未设置或无法从事件的 transferData 中检索拖动对象的 ID .
相关代码:所有可拖动的图像都有一个唯一的 ID。在拖动开始时,我在事件的 transferData 上设置拖动图像的 ID,如下所示:
function dragShipFromTable(event) {
event.dataTransfer.setData("id",event.target.id);
}
当图像被拖到画布上时,我调用以下函数
function allowDrop(event) {
event.preventDefault();
var id = event.dataTransfer.getData("id");
var img = document.getElementById(id);
// Do the highlighting stuff
....
}
问题是,当服务器启动并且我执行上述操作时,在 allowDrop(event) 中,未从 transferData 检索拖动图像的 ID。它是未定义的,因此突出显示失败。当简单地将 JSP 作为文件打开时,情况并非如此。