0

当我尝试将代码上传到网站 html 时,我收到一条错误消息,提示未定义“prepnewissue”。基本上,这个功能应该可以在您单击侧边栏菜单时获得一个可以放置在地图上的小光标(红点),但是它没有激活。当我将鼠标悬停在侧边栏上时,它只会显示“javascript:prepNewIssue('Repairable')”,另一个也一样。


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>
4

2 回答 2

2

内联事件处理程序要求指定的函数是全局的。

很有可能您的函数是在一个$(document).ready块内定义的,因此它只在该块的范围内定义,而不是全局的。

当您使用 jQuery 时,您应该使用它来注册您的事件处理程序并废弃内联注册。

于 2013-07-01T20:20:19.230 回答
0

href 属性用于单击链接时要导航到的 url。如果要在单击链接时运行脚本,则需要在 HTML 元素的 onclick 事件中指定该脚本。

如果您实际上不希望浏览器导航到新页面,则不应使用链接元素 ()。

于 2013-07-01T20:20:04.883 回答