2013-09-20 3 views
1
function story1(){ 
var t=document.createElement('p'); 
t.innerHTML = "You wake up from your sleep in a half daze to hear noises of screams outside your bedroom window. You stumble over there to see what is the matter. You decide it's a good idea to grab your"+' <i onclick=addSword()> '+" sword "+' </i> '+"as you take the "+' <i onclick=story2()> '+" stairs. "+'</i>'; 
document.getElementById("story").appendChild(t); 
} 

function story2(){ 
var t = document.createElement('p'); 
t.innerHTML = "You realize that the door is locked and need to break the code in order to go outside." +' <i id="one" onclick=addOne()> '+ num1 +'</i>'+' <i id="two" onclick=addTwo()> '+ num2+'</i>'+' <i id="three" onclick=addThree()> '+ num3 +'</i>'; 
document.getElementById("story").appendChild(t); 
var b = document.createElement('input'); 
b.type = 'button'; 
b.value = 'Check Code'; 
b.onclick = checkCode(); 
document.getElementById("story").appendChild(b); 
} 

Короче говоря, эти две функции - вот моя проблема. Я пытаюсь добавить кнопку внутри div, чтобы проверить, не нарушен ли код. Кодирование checkCode работает так, как есть.Аппликация Кнопка не работает

Проблема заключается в том, что checkCode() фактически работает, когда на лестнице нажата кнопка, а не кнопка. Я пробовал b.on('click', checkCode()) и b.setAttribute('onclick', checkCode()).

Возможно, я не кодирую кнопку справа, но учебники и чтение ответов на подобные проблемы могут получить меня до сих пор! (lol)

Заранее благодарен!

ответ

1

Ваша проблема заключается в том, что вы устанавливаете результат функции checkCode на обработчик/атрибут вместо ссылки на функцию. Вы вызываете его.

Try:

b.onclick = checkCode; 

или

b.on('click', checkCode); 

Вы должны установить ссылку функции в обработчик. установка его с помощью () вызовет функцию тогда и там и, следовательно, вы увидите поведение.

+0

Спасибо! Не могу поверить, что это были те глупые скобки, которые меня путали. – ProgrammingFreak

+0

ха-ха да. он имеет свой смысл .. :) – PSL

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