Не уверен, что название вопроса правильное, но в любом случае вот моя проблема. У меня есть документ php/html со встроенным javascript. У меня есть две функции: showSys и showPies. Обе функции находятся внутри одного и того же тега <script> в начале документа, поэтому:

<script type='text/javascript'>
    function showSys(){...}

    function showPies(){...}
</script>

Далее ниже в документе у меня есть таблица. showSys вызывается в контексте onClick() для содержимого некоторых элементов <td> в таблице. showPies вызывается внутри некоторых других <td> элементов таблицы. Так

<table>
  <tr>
  ...
    <td><a onClick="showSys()">blah</a></td>
  ...
  </tr>
  <tr>
  ...
    <td><script type='text/javascript'>showPies()</script></td>
  </tr>
</table>

Проблема в том, что с приведенным выше кодом showSys() не вызывается. Вызывается только showPies(). Я уверен, что это как-то связано с контекстом выполнения, но я не могу этого понять — я немного новичок, когда дело доходит до JavaScript. Есть идеи, пожалуйста?

-1
user3487488 30 Янв 2015 в 04:33

2 ответа

Ваш скрипт мне подходит. Вы на самом деле нажимаете "бла"?

<script>
  function showSys() {
    alert('showSys');
    }
  function showPies() {
    alert('showPies');
    }
  </script>

<table>
  <tr>
    <td><a href="#" onClick="showSys();return false;">blah</a></td>
  </tr>
  <tr>
    <td><script type='text/javascript'>showPies()</script></td>
  </tr>
</table>
1
mpen 30 Янв 2015 в 19:37
Итак, при наведении курсора я не могу щелкнуть бла. Мышь не превращается в «палец», и я не могу щелкнуть по ней указателем.
 – 
user3487488
30 Янв 2015 в 04:38
Я должен добавить, что я использую инструкции php echo для создания таблицы, потому что она создается внутри php-скрипта.
 – 
user3487488
30 Янв 2015 в 04:42
То, что он не превращается в указатель, не означает, что он не кликабельный. Вы должны добавить атрибут href к тегу <a>, чтобы он превратился в указатель (или вы можете сделать это с помощью CSS, но это менее совместимо). Я обновлю свой ответ....
 – 
mpen
30 Янв 2015 в 19:37

showSys() будет вызываться только при щелчке по этой ячейке таблицы (td).

2
12hys 30 Янв 2015 в 04:36