-
카테고리
-
해결 여부
미해결
이벤트리스너-콜백함수 질문
19.08.15 19:21 작성 조회수 223
0
끝말잇기 강좌에서 질문이 생겨 질문 남깁니다!
제가 강의를 들으면서 작성한 코드인데, 끝말잇기 코드에요!(밑에)
그런데 function call_back(e)부분에서 call_back함수는 분명히 밑에 인자 하나를 받게 되어 있는데
late_form.addEventListener('submit', call_back); 부분에서는 인자없이 call_back만 쓰게 되어 ㅣ있더라구요!
여기서 late_form.addEventListener('submit', call_back(e)); 를 사용하면 브라우저에서 실행이 안되던데, 혹시 왜 그럴까요?!
더불어 구글링할때 뭐라고 검색하면 도움을 얻을 수 있을지도 알려주시면 감사할거 같아요..!
정말 감사드립니다
var b = document.body;
var ex_word = document.createElement('div');
ex_word.textContent = '제로초';
b.append(ex_word);
var late_form = document.createElement('form');
b.append(late_form);
var my_word = document.createElement('input');
late_form.append(my_word);
var sending_button = document.createElement('button');
sending_button.textContent = '전송!';
late_form.append(sending_button);
var result = document.createElement('div');
b.append(result);
late_form.addEventListener('submit', call_back);
function call_back(e) {
e.preventDefault();
if (my_word.value[0] == ex_word.textContent[ex_word.textContent.length - 1]) {
result.textContent = '맞았습니다';
ex_word.textContent = my_word.value;
my_word.value = '';
my_word.focus();
} else {
result.textContent = '틀렸습니다';
my_word.value = '';
my_word.focus();
}
}
답변을 작성해보세요.
1
조현영
지식공유자2019.08.16
addEventListener('click' function(e) {})
와
addEventListener('click', callback)
function callback(e) {}
가 같은 겁니다.
1
hjoo
2019.08.15
late_form.addEventListener('submit', call_back(e));
라고 하면 실행될 함수가 들어갈 자리에 함수가 아닌 이미 연산된 리턴값이 들어가서 안되는거네요~~
call_back(e) 는 함수가 아니라 e 를 넣은 결과값이니까요~
0
미니몽
질문자2019.08.16
안녕하세요 답변 감사합니다!
근데 처음에 함수를 정의할 때, call_back(e)라고 인자를 준거는 함수 사용시 인자가 필요한 함수 아닌가요??
그러면 late_form.addEventListener('submit', call_back); 에서는 인자를 어디서 받을 수 있는 것인가요??
답변 정말 감사합니다 :)
답변 3