사용자가 페이지에 들어간 후와 같이 클릭 효과를 얻기 위해 사용자 작업을 시뮬레이션해야 하는 경우도 있습니다.
적극적으로 클릭하지 않고 클릭 이벤트를 트리거하기만 하면 됩니다.
예를 들어 다음 코드는 다음과 같습니다.
<body> <a href="#" onclick="javascript:document.getElementById('d').innerHTML='x1'">点击1</a> <a href="#" onclick="javascript:document.getElementById('d').innerHTML='x2'">点击2</a> <a href="#" onclick="javascript:document.getElementById('d').innerHTML='x3'">点击3</a> </br> <span id="d"></span> </body>
'클릭 1' 페이지에 1배가 표시되고, '클릭 2' 페이지에 2배가 표시되는 효과가 있습니다...
단, 첫 번째 진입 페이지는 기본적으로 '클릭 1'이 되어야 합니다.
jQuery에서는 Trigger() 메서드를 사용하여 시뮬레이션 작업을 완료할 수 있습니다.
예를 들어, 다음 코드를 사용하여 링크 A의 클릭 이벤트를 트리거할 수 있습니다.
$('a').first().trigger("클릭");
이런 식으로 페이지가 로드되면 첫 번째 A 링크의 클릭 이벤트가 발생하고 페이지에 x1이 표시됩니다
맞춤 이벤트 트리거
trigger() 메서드는 브라우저에서 지원하는 동일한 이름의 이벤트를 트리거할 수 있을 뿐만 아니라 사용자 정의 이름을 가진 이벤트도 트리거할 수 있습니다.
예를 들어 "myEvent" 이벤트를 요소에 바인딩하려면 jQuery 코드는 다음과 같습니다.
$('#btn').bind("myEvent", function(){ alert("自定义事件"); });
이 이벤트를 트리거하려면 다음 코드를 사용할 수 있습니다.
$('#btn').trigger("myEvent");
데이터 전달
trigger(type,[data]) 메소드에는 두 개의 매개변수가 있습니다.
첫 번째는 트리거할 이벤트 개체 또는 이벤트 유형입니다.
두 번째 파라미터는 이벤트 처리 함수에 전달되는 추가 파라미터로, 는 배열 형태로 전달됩니다. 이는 일반적으로
에 매개변수를 전달하여 수행됩니다.
이 이벤트가 코드에 의해 트리거되었는지 아니면 사용자에 의해 트리거되었는지 구별하는 콜백 함수입니다.
다음은 데이터 전달 예시입니다.
$('#btn').bind("myEvent", function(event,message1,message2){ alert(message1 + "," + message2); }); $('#btn').trigger("myEvent", ["Hello","World!"]);
위 내용은 jQuery를 사용하여 이벤트를 자동으로 실행하는 방법입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.