href 요소에서 클릭 이벤트를 트리거하는 방법
아래 방법과 같이 jQuery를 사용하여 하이퍼 링크에서 클릭 이벤트를 시도합니다. 하이퍼 링크에는 ID가 없지만 cssclass가 있습니다.
$(document).ready(function () { $('.cssbuttongo').trigger('click'); });
위의 기능이 작동하지 않습니다. 이것은 하이퍼 링크입니다
<a href="hyperlinkurl" class="cssbuttongo">hyperlink anchor</a>
나는 증명할 사실적인 증거가 없지만 이미이 문제에 부딪 혔습니다. <a>
태그 에서 클릭 () 이벤트를 트리거하는 것이 입력 버튼과 같은 방식으로 작동하지 않는 것입니다.
내가 해결 방법은 브라우저가 다음과 같이 요청 리소스를로드하도록 창에 location.href 속성을 설정하는 것입니다.
$(document).ready(function()
{
var href = $('.cssbuttongo').attr('href');
window.location.href = href; //causes the browser to refresh and load the requested url
});
});
편집하다 :
나는 js 바이올린을 만들 것이지만 jsfiddle이 iframe을 사용하여 코드를 방법하는 방법과 혼합 된 질문의 성격은 그것을 불가능하게 만듭니다.
대체 DOM 메서드는 올바른 일을합니다.
$('.cssbuttongo')[0].click();
^
Important!
이는 href
URL, 조각 (예 :) #blah
또는 javascript:
.
이것은 click
jQuery click
메서드 (매우 불완전하고 완전히 무시 함 href
) 대신 DOM 메서드를 호출합니다 .
romkyns 의 훌륭한 답변 외에도 .. 관련 문서 / 예제가 있습니다.
DOM 요소 에는 네이티브 .click()
메서드가 있습니다.
이
HTMLElement.click()
메소드는 요소에 대한 마우스 클릭을 시뮬레이션합니다.클릭이 사용 링된 문서 트리 (또는 이벤트 체인)의 상위 요소가 버블 링되는 요소의 클릭도 발생하고 클릭 이벤트도 발생합니다. 그러나 클릭 이벤트의 버블 링으로
<a>
인해 실제 마우스 클릭이 수신 된 것처럼 요소가 탐색 을 시작하지 않습니다 . (mdn 참조)
관련 W3 문서 .
몇 가지 예 ..
jQuery에서 특정 DOM 요소에 액세스 할 수 있습니다. (예제)
$('a')[0].click();
.get()
메소드를 사용하여 jQuery 객체에서 DOM 요소를 검색 할 수 있습니다 . (예제)$('a').get(0).click();
예상 대로 DOM 요소를 선택하고 메소드 를 호출 할 수 있습니다 . (예)
.click()
document.querySelector('a').click();
네이티브 이벤트 를 트리거하는 데 jQuery를가 필요 하지 않다는 점을 지적 할 가치가 있습니다..click()
JavaScript를 통해 클릭을 트리거하면 하이퍼 링크가 열리지 않습니다. 이 브라우저에 내장 된 보안 조치입니다.
그러나 몇 가지 해결 방법 은 이 질문 을 참조하십시오 .
여러분들에게 알려 드리고 싶은 대답이 항상 작동하는 것은 아닙니다.
다음은 실패 할 예입니다.
만약 <href='/list'>
href = $('css_selector').attr('href')
"/list"
href = document.querySelector('css_selector').href
"http://localhost/list"
또는 jQuery에서 얻은 href를 여기에 추가 할 수 있습니다.
href = document.URL +$('css_selector').attr('href');
또는 jQuery 방식
href = $('css_selector').prop('href')
마지막으로 브라우저의 현재 페이지 URL을 변경 호출하십시오.
window.location.href = href
또는 사용하여 튀어 나오십시오. window.open(url)
다음 은 JSFiddle의 예입니다.
링크 대신 버튼을 클릭하는 방법과 문제가 발생했습니다. .trigger ( 'click') 또는 [0] .click () 메소드에서는 성공하지 않고 그 이유를 알지. 마침내 다음이 저에게 맞는다.
$('#elementid').mousedown();
참고 URL : https://stackoverflow.com/questions/7999806/how-to-trigger-click-event-on-href-element
'ProgramingTip' 카테고리의 다른 글
therubyracer-Gem :: Ext :: BuildError : ERROR : gem 내장 확장을 빌드하지. (0) | 2020.10.22 |
---|---|
단항 더하기 연산자는 무엇을 소유하고 있습니까? (0) | 2020.10.22 |
Picasso에서 캐시 무효화 (0) | 2020.10.22 |
Objective-C의 제거에서 공백 제거 (0) | 2020.10.22 |
git commit get fatal error "fatal : CRLF will be replace by LF in" (0) | 2020.10.22 |