내 앱에서 사용자는 ajax를 통해 텍스트 필드를 표시하는 버튼을 클릭합니다.레일 : Ajax로 부분 렌더링을 한 후 JS로 해당 부분을 조작
해당 텍스트 필드가 나타난 후에 그 텍스트 필드에 집중하고 싶습니다.
$("#my-textfield").focus()
은 내 js.erb 파일에서 작동하지 않지만 콘솔에서 정상적으로 작동합니다. 나도 쓸모가없는 setTimeout
와 그것을 시험해 보았다.
document.getElementById('my-textfield').focus();
을 할 때 "null에 집중할 수 없습니다."라는 메시지가 나타납니다.
ajax를 통해 부분을로드 한 후 DOM을 "다시로드"해야합니까?
요소가 아직로드되지 않았을 수 있습니다. console.log ($ ("# my-textfield"). length)를 사용해 볼 수 있습니까? – index
내가 그렇게 할 때 나는 0을 얻는다. 하지만 지금은 0.5 초의 '타임 아웃'을 설정하고 있습니다. – bevanb