这是我的代码:
function addAlbum(){
var attr;
var parent;
var newelement;
/*image*/
newelement = document.createElement("img");
newelement.src = "criar_album.png";
attr = document.createAttribute("id");
attr.value = "addalbum";
newelement.setAttributeNode(attr);
attr = document.createAttribute("usemap");
attr.value = "#addalbum_map";
newelement.setAttributeNode(attr);
parent = document.getElementById("content");
parent.appendChild(newelement);
/*-----------------------------------------*/
/*map*/
newelement = document.createElement("map");
attr = document.createAttribute("id");
attr.value = "album_map";
newelement.setAttributeNode(attr);
attr = document.createAttribute("style"); /*this part is failing I guess*/
attr.value = "cursor:pointer";
newelement.setAttributeNode(attr);
attr = document.createAttribute("name");
attr.value = "addalbum_map";
newelement.setAttributeNode(attr);
parent = document.getElementById("addalbum");
parent.appendChild(newelement);
/*-----------------------------------------*/
/*area*/
newelement = document.createElement("area");
attr = document.createAttribute("shape");
attr.value = "rect";
newelement.setAttributeNode(attr);
attr = document.createAttribute("coords");
attr.value = "73, 238, 115, 264";
newelement.setAttributeNode(attr);
attr = document.createAttribute("onclick");
attr.value = "createAlbum()";
newelement.setAttributeNode(attr);
attr = document.createAttribute("onmouseover");
attr.value = "highlightOn(470,320,511,346,2)";
newelement.setAttributeNode(attr);
parent = document.getElementById("album_map");
parent.appendChild(newelement);
/*-----------------------------------------*/
}
一切似乎都很好,除了当我将光标传递到区域元素时部分光标会发生变化。我用 html 中定义的静态图像做了类似的事情并且它可以工作,所以现在我很困惑为什么它不适用于动态创建的地图?
PS:已经在 CSS 中为“addalbum”id 定义了样式,但它没有帮助。顺便说一句,我知道,有一些方法可以通过定义 href 等棘手的方式来实现,但我想知道这里真正的问题是什么。