이전 기사에서 JavaScript에서 사용자 정의 이벤트를 만드는 방법
, 우리는 사용자 정의 이벤트와 기본 customevent 객체의 이점에 대해 논의했습니다. 요약하기 위해, 우리는 우리 자신의 명명 된 이벤트를 해고 할 수 있습니다. Demonstation 페이지는 유효한 메시지가 제출 될 때마다 "NewMessage"이벤트를 해고 한 양식을 제공했습니다. 많은 핸들러 가이 이벤트를 구독하여 자신의 행동을 수행 할 수 있습니다.
우리의 유일한 문제 : Customevent는 현재 Safari 또는 Internet Explorer에서 지원되지 않습니다.
브라우저 호환성 문제 주변에는 방법이 있습니다. 한 가지 해결책은 사용자 정의 이벤트 기능을 구현하는 이벤트 캡슐화 기능을 작성하는 것입니다. 다행히도 필요하지 않습니다. 맞춤형 이벤트는 jQuery를 포함한 여러 자바 스크립트 라이브러리에서 지원됩니다.
jQuery의 .Trigger 메소드가 핵심입니다. 예를 들어 언제든지 새 유형 이름과 임의의 데이터가있는 이벤트를 트리거 할 수 있습니다.
$.event.trigger({ type: "newMessage", message: "Hello World!", time: new Date() });핸들러는 이제 "NewMessage"이벤트를 구독 할 수 있습니다 (예 :
$(document).on("newMessage", newMessageHandler);데모 페이지 이 예제는 jQuery 코드를 보여줍니다. jQuery 사용자 정의 이벤트 데모 페이지를보십시오 표준 이벤트 핸들러는 HTML 양식의 제출물을 찾습니다. 이 기능은 현재 메시지를 가져오고 유효하다고 가정하면 새로운 "NewMessage"이벤트를 발송합니다.
$("#msgbox").on("submit", SendMessage); // new message: raise newMessage event function SendMessage(e) { e.preventDefault(); var msg = $("#msg").val().trim(); if (msg) { $.event.trigger({ type: "newMessage", message: msg, time: new Date() }); } }
// newMessage event subscribers $(document).on("newMessage", newMessageHandler); // newMessage event handler function newMessageHandler(e) { LogEvent( "Event subscriber on "+e.currentTarget.nodeName+", " +e.time.toLocaleString()+": "+e.message ); }jQuery 사용자 정의 이벤트는 개발자가 JQuery가 제공하는 표준 이벤트 외에도 자신의 이벤트를 만들고 관리 할 수있는 사용자 정의 이벤트입니다. 응용 프로그램의 다른 부분에서 재사용 할 수있는 동작을 캡슐화하는 방법을 제공하기 때문에 중요합니다. 이로 인해 복제를 줄이고 우려의 분리를 촉진하여 클리너, 더 관리 가능한 코드로 이어질 수 있습니다.
$ (document) .trigger ( 'mycustomevent');
이 예에서 'MyCustomevent'는 사용자 정의 이벤트의 이름입니다.
jQuery의 사용자 정의 이벤트 핸들러로 데이터를 전달하려면 어떻게해야합니까?
.trigger ()에 추가 인수를 제공하여 jQuery의 사용자 정의 이벤트 핸들러에 데이터를 전달할 수 있습니다. 방법. 이 인수는 JavaScript 객체 일 수 있습니다. 예는 다음과 같습니다.
jQuery에서 사용자 정의 이벤트를 어떻게 처리합니까?
.on ()을 사용하여 jQuery에서 사용자 정의 이벤트를 처리 할 수 있습니다. 방법. 예는 다음과 같습니다.
$ (document) .on ( 'mycustomevent', function (event, data) { console.log (data.key); // 'value'
사용자 정의 이벤트가 전파되는 것을 중지 할 수 있습니까? jQuery?
예, 이벤트 객체에서 .stopPropagation () 메소드를 호출하여 사용자 정의 이벤트가 jQuery에서 전파되는 것을 중지 할 수 있습니다. 예는 다음과 같습니다.
$ (document) .on ( 'mycustomevent', function () {
jQuery에서 사용자 정의 이벤트를 수동으로 트리거 할 수 있습니까?
예, .trigger () 메소드를 사용하여 jQuery에서 사용자 정의 이벤트를 수동으로 트리거 할 수 있습니다. 예는 다음과 같습니다.
$ (document) .trigger ( 'mycustomevent');
이 예에서는 'mycustomevent'가 수동으로 트리거됩니다 $ (document) .on ( 'mycustomevent', function () {
console.log ( 'handler 2 '); });
이 예에서는‘mycustomevent’가 트리거 될 때 두 핸들러가 모두 호출됩니다.
위 내용은 jQuery trigger () 메소드 : jQuery에서 사용자 정의 이벤트를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!