我需要做的是在添加区域标签时将它们动态写入地图,以便当我点击它们时它们会触发一个功能。
<img src="out.jpg" usemap="#mapmap"/>
<map name="mapmap">
<area id="1" shape="rect" coords="75,300,125,400" onclick="writeDiv(this.id)"/>
<area id="2" shape="rect" coords="175,300,225,400" onclick="writeDiv(this.id)"/>
<area id="3" shape="rect" coords="275,300,325,400" onclick="writeDiv(this.id)"/>
</map>
如果我知道区域将在哪里,那正是我所需要的。但是,我需要在用户添加更多内容时动态加载它们,并且我已经尝试过(在脚本标签中):
$("<img src=\"out.jpg\" usemap=\"#mapmap\"\/>").appendTo('body');
$("<map name=\"mapmap\">").appendTo('body');
$("<area id=\"1\" shape=\"rect\" coords=\"75,300,125,400\" onclick=\"writeDiv(this.id)\"\/>").appendTo('body');
$("<area id=\"2\" shape=\"rect\" coords=\"175,300,225,400\" onclick=\"writeDiv(this.id)\"\/>").appendTo('body');
$("<area id=\"3\" shape=\"rect\" coords=\"275,300,325,400\" onclick=\"writeDiv(this.id)\"\/>").appendTo('body');
$("<\/map>").appendTo('body');
这很好,因为我仍然可以围绕图像格式化我的页面的其余部分,只是它不能按您期望的那样工作。我已经测试过了
$("<div id=\"test\">testing text<\/div>").appendTo('body');
这可以将文本写入页面正文的底部。
那么,有没有办法让它工作,或者之间的依赖关系总是会搞砸?如果您可以完全想到另一种方法,我愿意接受建议。谢谢!