jQuery를 사용하여 링크에서 클릭을 트리거하는 방법
링크가 있습니다.
<ul id="titleee" class="gallery">
<li>
<a href="#inline" rel="prettyPhoto">Talent</a>
</li>
</ul>
다음을 사용하여 트리거하려고 합니다.
$(document).ready(function() {
$('#titleee').find('a').trigger('click');
});
하지만 효과가 없습니다.
저도 해봤어요.$('#titleee a').trigger('click');
편집:
여기서 뭐라고 부르든 간에<a href="#inline" rel="prettyPhoto">
앵커에서 이벤트를 트리거하려는 경우 코드가 작동합니다. eventHandler가 추가된 jsfidle에서 예제를 다시 생성하여 작동하는지 확인할 수 있습니다.
$(document).on("click", "a", function(){
$(this).text("It works!");
});
$(document).ready(function(){
$("a").trigger("click");
});
앵커를 클릭하여 사용자가 웹 페이지의 특정 지점으로 이동하도록 하려는 것입니까, 아니면 앵커에 바인딩된 이벤트를 트리거하려는 것입니까?클릭 이벤트를 이벤트에 성공적으로 바인딩하지 않은 것이 아닐까요?
또한 다음과 같습니다.
$('#titleee').find('a').trigger('click');
는 다음과 같습니다.
$('#titleee a').trigger('click');
찾을 필요가 없습니다.:)
죄송합니다. 이벤트 핸들러는 필요 없습니다.태그 내에서 클릭할 다른 요소가 필요합니다.
<a id="test1" href="javascript:alert('test1')">TEST1</a>
<a id="test2" href="javascript:alert('test2')"><span>TEST2</span></a>
질문:
$('#test1').trigger('click'); // Nothing
$('#test2').find('span').trigger('click'); // Works
$('#test2 span').trigger('click'); // Also Works
이것은 클릭하는 내용에 대한 모든 것이며 태그가 아니라 태그 안에 있는 내용입니다.안타깝게도 맨 텍스트는 JQuery에서 인식되지 않는 것처럼 보이지만 바닐라 자바스크립트에 의해 인식됩니다.
document.getElementById('test1').click(); // Works!
또는 jQuery 개체를 배열로 액세스함으로써
$('#test1')[0].click(); // Works too!!!
이 질문은 구글에서 "클릭을 유발하는 것"으로 1위를 차지했기 때문입니다.<a>
요소"라고 대답했지만 실제로 어떻게 하는지에 대해서는 언급하지 않았습니다. 다음과 같이 수행합니다.
$('#titleee a')[0].click();
설명: 사용자가 트리거합니다.click
jQuery-object가 아닌 기본 html-element에 있습니다.
당신들은 구글러를 환영합니다 :)
앵커에서 이벤트를 트리거하려는 경우 코드가 작동합니다.
$(document).ready(function() {
$('a#titleee').trigger('click');
});
OR
$(document).ready(function() {
$('#titleee li a[href="#inline"]').click();
});
OR
$(document).ready(function() {
$('ul#titleee li a[href="#inline"]').click();
});
제공한 코드로는 아무 일도 일어나지 않을 것입니다.두 번째 @mashappslabs: 먼저 이벤트 핸들러 추가:
$("selector").click(function() {
console.log("element was clicked"); // or alert("click");
});
이벤트를 트리거합니다.
$("selector").click(); //or
$("selector").trigger("click");
콘솔에 메시지가 표시됩니다.
클릭 이벤트를 먼저 설정한 다음 트리거하고 어떻게 되는지 확인할 수 있습니다.
//good habits first let's cache our selector
var $myLink = $('#titleee').find('a');
$myLink.click(function (evt) {
evt.preventDefault();
alert($(this).attr('href'));
});
// now the manual trigger
$myLink.trigger('click');
이벤트를 트리거하는 데모입니다.
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("input").select(function(){
$("input").after(" Text marked!");
});
$("button").click(function(){
$("input").trigger("select");
});
});
</script>
</head>
<body>
<input type="text" value="Hello World"><br><br>
<button>Trigger the select event for the input field</button>
</body>
</html>
이것은 당신의 질문에 정확하게 답하지는 않지만, 두통이 덜하면서 동일한 결과를 얻을 수 있습니다.
실행하려는 모든 논리가 포함된 클릭 이벤트 호출 메서드를 항상 사용합니다.실제로 클릭하지 않고 작업을 수행하려면 메소드를 직접 호출할 수 있습니다.
링크의 경우 다음과 같이 작동합니다.
eval($(selector).attr('href'));
요소의 네이티브를 호출해야 합니다..click()
합니다.createEvent
API.API.
자세한 내용은 https://learn.jquery.com/events/triggering-event-handlers/ 를 참조하십시오.
우리는 여러 가지 방법으로 할 수 있습니다.
사례 - 1
다음과 같이 사용할 수 있습니다.
사례 - 2
다음과 같은 기능을 사용할 수 있습니다.
케이스 - 3
가 함에수쓰오시십를에 .programmatically
클릭 후..
$("#myID").click(function() {
console.log("Clicked");
// Do here whatever you want
});
케이스 - 4
// Triggering a native browser event using the simulate plugin
$("#myID").simulate( "click" );
또한 다음을 참조할 수 있습니다. https://learn.jquery.com/events/triggering-event-handlers/
가장 짧은 대답:
$('#titlee a').click();
언급URL : https://stackoverflow.com/questions/5811122/how-to-trigger-a-click-on-a-link-using-jquery
'programing' 카테고리의 다른 글
테스트 작업에 대해 Xcode 프로젝트 구성표가 현재 구성되어 있지 않습니다. (0) | 2023.05.09 |
---|---|
마지막 커밋 후 모든 변경 사항 재설정 (0) | 2023.05.09 |
텍스트 상자에 자리 표시자 텍스트 추가 (0) | 2023.05.09 |
jQuery 또는 플레인 자바스크립트를 사용하여 URL 매개 변수를 가져오는 방법은 무엇입니까? (0) | 2023.05.09 |
엑셀에서 달력 주를 날짜로 변환하려면 어떻게 해야 합니까? (0) | 2023.05.09 |