저는 학교 과제물로 JavaScript로 Battleship 게임을 만들려고 노력해 왔으며 상대방 AI를 만들려고 노력하고 있습니다.JavaScript fireEvent가 함수가 아니십니까?
yourCell.setAttribute('id', evt + String(a) + String(b));
addListener(yourCell);
:
지금
function addListener(evt) {
evt.addEventListener('click', function(){
//bunch of code
});
}
나는이 기능 addListener
내가 루프 내 중첩에 그리드의 새로운 셀을 만들 때마다 실행 : 나는 그리드에서 셀을 클릭 할 때의 이벤트를 만들었습니다
는 내가 지금 원하는 것은 내가 내 차례를했습니다 때 클릭 이벤트를 실행하는 상대입니다, 그래서이 그냥 fireEvent
기능을 테스트하기 위해 쓴 : t에 따르면
function enemyTurn() {
document.getElementById('yourGrid00').fireEvent('onclick');
}
을 그는 두 번째 코드 예제에서 셀의 ID를 'yourGrid00'
으로 설정했습니다.이 코드는 JavaScript 코드가 실행 된 후 html 코드를 검사하여 확인한 것으로, 각 셀이 만들어지고 ID가 할당되기 전에 실행되지 않습니다 (enemyTurn()
). . 이해가 안 무엇
내가 fireEvent
줄에 다음과 같은 오류를 얻을 수 있습니다 :
Uncaught TypeError: undefined is not a function.
사람이 내가 잘못 알고 있나요?
고맙습니다. 이것은 작동하는 것 같다 :) 나는 단지 클릭을 시뮬레이트하는 방법을 찾고 있었는데 fireEvent를 발견하고 문서가 여전히 사용 중이라고 생각했다. –
initMouseEvent의 모든 속성에 대한 거래가 무엇인지 설명하는 데주의해야합니까? –
@ TorsteinR 쏘우크 이들은 마우스 이벤트가 무엇인지, 이벤트가 발생한 곳과 몇 가지 다른 세부 사항을 설정합니다. MDN에는 https://developer.mozilla.org/en-US/docs/Web/API/event.initMouseEvent에 대한 문서가 있습니다. 'event.initMouseEvent (type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);' –