我收到一条错误消息,说我在尝试将代码上传到网站html时未定义“prepnewissue”。基本上这个功能应该是当你点击侧边栏菜单时你会得到一个能够放在地图上的小光标(红点)的地方,然而它并没有激活。当我将鼠标悬停在侧边栏上时,它只是说“javascript:prepNewIssue('可修复')”,对于另一个也是如此。
function prepNewIssue(kind)
{
panner.disable();
$("div[id^='m']").hide();
$('#plan-wrapper').css('cursor', 'crosshair');
$('#plan').bind('mousedown', {kind: kind}, newIssue);
}
<p>
<ul class="sf-menu sf-vertical">
<li><a href="#">New ID</a>
<ul>
<li><a href="javascript:prepNewIssue('Repairable')">Repairable</a></li>
<li><a href="javascript:prepNewIssue('Survey Mark')">Survey Mark</a></li>
</ul>
<li>
</ul>
</p>
答案 0 :(得分:2)
内联事件处理程序要求指定的函数是全局的。
有可能你的函数是在$(document).ready
块内定义的,因此它只在该块的范围内定义而不是全局。
当您使用jQuery时,您应该使用它来注册您的事件处理程序并废弃内联注册。
答案 1 :(得分:0)
href属性用于单击链接时要导航到的URL。如果要在单击链接时运行脚本,则需要在HTML元素的onclick事件中指定该脚本。
如果您实际上不希望浏览器导航到新页面,则不应使用link元素()。