2015-08-06 3 views
3

У меня есть один запрос, для чего я хотел подготовить JSFiddle. Но он не работает для небольшой программы кликов. Который имеет только две строки кода.Код в JsFiddle не работает

HTML

<body> 
    <button onclick="javascript:launchdialog();">Click Me</button> 
</body> 

JavaScript

function launchdialog() { 
    alert('test'); 
} 

я не нашел ничего плохого в только две строки кода. Пожалуйста, посмотрите на это JSFiddle - http://jsfiddle.net/g47qqzra/

+0

Работа после смены файла на 'no wrap'. Проверьте [Демо] (http://jsfiddle.net/tusharj/g47qqzra/1/) – Tushar

ответ

5

Вы можете установить опцию No wrap в голове или теле.

При использовании onload или onDomReady, код обернут внутри другой функции, которая вызывается на load или ready события. Таким образом, ваша функция недоступна из-за пределов этой функции. И вы получите ошибку

ReferenceError: functionName is not defined

Выполнение функции no wrap делает глобальной, можно получить доступ из любой точки мира.

Updated fiddle

Jsfiddle Doc

4

OnLoad:

  • Это означает, что обернуть код, чтобы он будет работать в onLoad случае окна. Это выполняется, когда загружена вся страница (например, изображения).

onDomReady:

  • Это означает, что для того чтобы обернуть код, он будет работать в onDomReady случае окна. Это выполняется при загрузке DOM.

нет обруча - в <head>:

  • Это будет поместить код JavaScript в <head> разделе

нет обруча - в <body>:

  • Это будет поместить код JavaScript в разделе <body>

Я хотел бы отметить, что более подробную информацию можно найти в jsFiddle's documentation.

Ваша рабочая Fiddle

1

Это потому, что вы скрипт не загружен, а функция launchdialog() не найден, когда страница загружена. Если вы поместите скрипт в главный тег, он будет загружен до загрузки страницы, поэтому решите свою проблему. Когда вы используете параметр «onLoad», скрипт загружается только после загрузки документа, то есть в конце. Просто выберите «Без обертывания» в левом наборе

Смежные вопросы