EDIT Из-за того, что @Dellirium отметил в комментарии, я 're re посмотрел мой ответ, чтобы отразить истинную проблему здесь. Однако решение все равно будет работать.
Проблема в том, что JSFiddle делает JavaScript выполняемым при загрузке документа по умолчанию. Это означает, что JS загружается после HTML, и поэтому он не был бы определен во время инициализации события onclick
в HTML.
Это проблема с закрытием. Если у вас есть «Тип нагрузки» установлен на «OnLoad» в JSFiddle, это то, что он делает внутренне (вы можете проверить консоль разработчика):
<script type="text/javascript">
//<![CDATA[
window.onload=function(){
function call286Dart123(a,b) {
console.log(a + "\t" + b);
}
}
//]]>
</script>
Это означает, что завернутые в в анонимной случае обработчик события onload
. Поскольку переменные (и функции) привязаны к функциям в JavaScript, это делает их недоступными для глобальной области.
Решение: Чтобы исправить это, в меню «JavaScript» измените «Тип нагрузки» на «Тип нагрузки», Нет обертывания в головке > ". Это так просто =).
См. this JSFiddle fork в качестве примера работы.
Другими словами, это будет просто изменить его (опять же, вы можете убедиться в этом, посетив консоль разработчика на моем JSFiddle):
<script type="text/javascript">
//<![CDATA[
function call286Dart123(a,b) {
console.log(a + "\t" + b);
}
//]]>
</script>
В которой, cal286Darkt123
будет определен в глобальной области видимости (вне любых других функций).
Для получения дополнительной информации о закрытии, проверьте MDN Docs.
Говорить что-то не работает не полезно. какой массаж ошибок вы получаете? также, если вы можете сообщить нам, где на странице находится ваш скрипт (глава/конец тела)? Я замечаю, что в функции есть слово дротик, вы делаете какое-то генерирование кода из словаря дротика? – user1852503
@ user1852503 проверьте скрипт и ошибка ** функция не определена ** как упоминалось в начале. – Shubham