Почему в этой простой демонстрационной версии jsfiddle не срабатывает событие click? - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь создать небольшую демонстрацию на jsfiddle, но когда я нажимаю кнопку переключения, событие click не срабатывает, оно говорит: myclick is not defined.

Я смотрел на другие ответы, которыеупомяните решение без переноса, но я не вижу такой опции конфигурации в jsfiddle прямо сейчас.

jsfiddle: https://jsfiddle.net/5j9qgbxa/4/

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Кажется, что javascript с типом onload создаст javascript в начале вашего jsfiddle следующим образом:

window.onload=function(){
  function myclick(){
   alert("myclick");
  }
}


<YourHTML>

В этом случае он не будет распознавать myclick (), так как это было создано позже вHTML и не запускается с помощью onload.Что вы можете сделать, чтобы избежать этого, как вы можете видеть в этом jsfiddle: https://jsfiddle.net/cqL9t8mh/1/

Что я сделал здесь, удалите onclick = "myclick" в вашей кнопке и замените его на и идентифицируйте 'btnToggle',После этого в разделе javascript вы можете добавить addEventListener типа, щелкнув по идентификатору «btnToggle», чтобы активировать вашу функцию myclick.

Кроме того, вы спросили в командах предыдущего ответа: enter image description here

Это сделает так, чтобы ваш макет кода был примерно таким:

<YourHTML>
function myclick(){
   alert("myclick");
  }

В этом случае ваш HTML сначала создается перед вашей функцией, и он больше не загружаетсятеперь он будет срабатывать при каждом нажатии кнопки.

0 голосов
/ 25 февраля 2019

Измените тип нагрузки на No wrap -bottom of the <body>

Вот Демо

...