는 jQuery를 편리하게 이벤트 리스너를 저장, 그래서 당신은 별도의 기능에서 그들을 정의하는 경우, 당신은 쉽게 제거 할 수 있습니다 :
크로노가 시작되면, 나는 '클릭'이벤트 리스너를 제거
function stopChrono() {
clearInterval(chronometer);
$(this).attr('class', 'w3-btn w3-green')
$('#start').off('click', stopChrono)
$('#start').on('click', startChrono)
}
function startChrono(e) {
$(this).attr('value', function (_, text) {
$(this).attr("class", "w3-btn w3-red")
return text === 'Stop!' ? 'Start!' : 'Stop!';
})
$('#start').off('click', startChrono)
$('#start').on('click', stopChrono)
}
$('#start').on('click', startCrono);
다음 클릭 때문에 크로노를 시작하면 안된다. 또한 stopChrono 'click'이벤트 리스너를 추가 했으므로 chrono를 중지해야합니다.
반대의 경우는 stopChrono()
입니다. '클릭'수신기는 stopChrono에서 연결 해제되고 startChrono에 다시 연결됩니다.
이제 앞뒤로 이동할 수 있어야합니다.
5 오류가 jsbin에보고했다. 줄 68 : 누락 된 세미콜론. 줄 70 : 누락 된 세미콜론. 줄 72 : 누락 된 세미콜론. 줄 74 : 누락 된 세미콜론. 줄 75 : 누락 된 세미콜론. – PaulH
이러한 오류를 수정해도 아무런 반응이 없으며 크롬에서 onclick을로드하지 않습니다. @PaulH –