0

コードを Web サイトの 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 に答える