링크가 있습니다 :
<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 와 함께 jsfiddle 에서 예제를 다시 작성하여 작동하는지 확인할 수 있습니다.
$(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>
jquery :
$('#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!!!
답변
이 질문은 Google에서 ” <a>
요소 클릭 발생 트리거”로 1 위를 차지했으며 실제로 어떻게 응답하는지 언급하지 않으므로 다음과 같이하십시오.
$('#titleee a')[0].click();
설명 : jQuery-object가 아닌click
기본 html 요소에서 를 트리거 합니다 .
천만에요. 🙂
답변
제공 한 코드를 사용하면 아무 일도 일어나지 않을 수 있습니다. 두 번째 @mashappslabs : 먼저 이벤트 핸들러를 추가하십시오.
$("selector").click(function() {
console.log("element was clicked"); // or alert("click");
});
그런 다음 이벤트를 시작하십시오.
$("selector").click(); //or
$("selector").trigger("click");
콘솔에 메시지가 나타납니다.
답변
앵커에서 이벤트를 트리거하려고하면 가지고있는 코드가 작동합니다.
$(document).ready(function() {
$('a#titleee').trigger('click');
});
또는
$(document).ready(function() {
$('#titleee li a[href="#inline"]').click();
});
또는
$(document).ready(function() {
$('ul#titleee li a[href="#inline"]').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>