이 문서의 예에서는 JQuery가 이벤트를 자동으로 트리거하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
일반 시뮬레이션
때때로 클릭 효과를 얻기 위해 사용자 작업을 시뮬레이션해야 하는 경우도 있습니다. 예를 들어, 사용자가 페이지에 들어간 후 사용자가 직접 클릭하지 않아도 클릭 이벤트가 트리거됩니다.
JQuery에서는 Trigger() 메서드를 사용하여 시뮬레이션 작업을 완료할 수 있습니다. 예를 들어, 다음 코드를 사용하여 ID가 btn인 버튼의 클릭 이벤트를 트리거할 수 있습니다.
$('#btn').trigger("클릭");
이렇게 하면 페이지가 로드되면 원하는 효과가 즉시 출력됩니다. click()을 직접 단축하여 동일한 효과를 얻을 수도 있습니다.
$('#btn').click();
맞춤 이벤트 트리거
trigger() 메서드는 브라우저에서 지원하는 동일한 이름의 이벤트를 트리거할 수 있을 뿐만 아니라 사용자 정의 이름을 가진 이벤트도 트리거할 수 있습니다. 예를 들어 "myClick" 이벤트를 요소에 바인딩하려면 JQuery 코드는 다음과 같습니다.
$('#btn').bind("myClick", function(){ $('#test').append("<p>我的自定义事件.</p>"); });
이 이벤트를 트리거하려면 다음 코드를 사용할 수 있습니다.
$('#btn').trigger("myClick");
데이터 전달
trigger(type[,data]) 메서드에는 두 개의 매개변수가 있습니다. 첫 번째 매개변수는 트리거할 이벤트 유형이고, 두 번째 매개변수는 이벤트 처리 함수에 전달할 추가 데이터이며 다음과 같은 형식으로 전달됩니다. 배열. 일반적으로 콜백 함수에 매개변수를 전달하여 이 이벤트가 코드에 의해 트리거되었는지 아니면 사용자에 의해 트리거되었는지 구분할 수 있습니다.
다음은 데이터 전달 예시입니다.
$(function(){ $('#btn').bind("myClick", function(event, message1, message2){ $('#test').append( "<p>"+message1 + message2 +"</p>"); }); $('#btn').click(function(){ $(this).trigger("myClick",["我的自定义","事件"]); }).trigger("myClick",["我的自定义","事件"]); })
기본 작업 수행
trigger() 메소드가 이벤트를 트리거한 후 브라우저의 기본 작업이 수행됩니다. 예:
$("input").trigger("focus");
위 코드는 d5fd7aea971a85678ba271703566ebfd 요소에 바인딩된 포커스 이벤트를 트리거할 뿐만 아니라 d5fd7aea971a85678ba271703566ebfd 요소 자체도 포커스를 얻도록 합니다(이것이 브라우저의 기본 작업입니다).
브라우저의 기본 작업을 수행하지 않고 바인딩된 포커스 이벤트만 트리거하려면 jQuery에서 또 다른 유사한 메서드인 TriggerHandler() 메서드를 사용할 수 있습니다.
$("input").triggerHandler("focus");
이 메소드는 d5fd7aea971a85678ba271703566ebfd 요소에 바인딩된 특정 이벤트를 트리거하는 동시에 이 이벤트에 대한 브라우저의 기본 작업을 취소합니다. 즉, 텍스트 상자는 바인딩된 포커스 이벤트만 트리거하고 수신하지 않습니다. 집중하다.
이 기사가 모든 사람의 jQuery 프로그래밍에 도움이 되기를 바랍니다.