테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 질문 입니다. 채택완료

웹프리죤 2년 전 조회 2,397

구글 번역 스크립트 인데요.

아래 소스는 "영어" 을 클릭을 해야 번역 되는데 접속하면 자동으로 번역 되게 할려고 trigger('click')

해도 안먹히는데 왜 그런걸까요~?

 

</p>

<p><ul class="translation-links" style="position:fixed; top:0; left:0; z-index:999999">

    <li><a href="javascript:void(0)" class="english" data-lang="en">영어</a></li>

</ul></p>

<p> </p>

<p> </p>

<p>document.querySelector('.translation-links').addEventListener('click',function(event) {

        let el = event.target;

        if(el != null){

            while(el.nodeName == 'FONT' || el.nodeName == 'SPAN'){el = el.parentElement;}//data-lang 속성이 있는 태그 찾기

            const tolang = el.dataset.lang; // 변경할 언어 코드 얻기

            const gtcombo = document.querySelector('.goog-te-combo');

            if (gtcombo == null) {

                alert("Error: Could not find Google translate Combolist.");

                return false;

            }

            gtcombo.value = tolang; // 변경할 언어 적용

            gtcombo.dispatchEvent(new Event('change')); // 변경 이벤트 트리거

        }

        return false;

    }).trigger('click');</p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
2년 전

</p>

<p><script src="<a href="http://code.jquery.com/jquery.min.js"></script>" target="_blank" rel="noopener noreferrer">http://code.jquery.com/jquery.min.js"></script></a></p>

<p><script></p>

<p>// document.querySelector('.translation-links').addEventListener('click',function(event) {

$('.translation-links a').on('click',function(event) {</p>

<p>...</p>

<p></script></p>

<p>

정도가 되지 않을까 싶습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

자바스크립트와 제이쿼리가 같이 사용되서 그런거 같습니다. 자바스크립트 부분도 제이쿼리로 변경하시면 될거 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

기본코드는 바닐라이고

trigger('click') 는 제이쿼리라 그런 것 아닐까요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인