programing

jQuery를 사용하여 링크에서 클릭을 트리거하는 방법

megabox 2023. 5. 9. 22:12
반응형

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();

설명: 사용자가 트리거합니다.clickjQuery-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() 합니다.createEventAPI.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

반응형