오늘 갑자기 그의 사건에 관심이 생겼습니다. 전에 접한 적이 있는데 아직 정리하지 못했습니다. 오늘 시간이 나면 할게요.
jQuery는 바인딩, 일회성 바인딩, 트리거링 등 다양한 방법을 제공합니다. 오늘 아침에 Prawn Lugu가 그 일을 할 수 있는지 살펴보겠습니다.
jQuery의 바인딩 이벤트는 매우 편리하며, 컨트롤의 onclick 이벤트와 같이 일반적으로 사용되는 일부 이벤트를 격리하는 데 도움이 됩니다.
$("#testButton").click (function( ) {
alert("I'm Test Button");
});
이런 방식으로 onclick 이벤트를 testButton 버튼에 바인딩하고 실행합니다. 경고문. $("#testButton").click();을 사용하여 이 onclick 이벤트를 트리거할 수도 있으며 모든 것이 정상입니다. 위 내용이 좀 엉성하니 다음에는 취소 이벤트를 살펴보겠습니다. jQuery에는 바인딩 해제, 즉 이벤트 취소에 특별히 사용되는 바인딩 해제 메서드가 있습니다. 위의 예에 따르면 $("#testButton").unbind("click"); . 클릭 이벤트에 두 개의 이벤트가 있는 경우 unbind("click", fnName)를 사용하여 특정 함수의 바인딩을 삭제할 수도 있습니다. 특정 함수를 취소하는 이 방법이 있는 이유는 무엇입니까? 예제를 살펴보면 JavaScript 이벤트가 C# 이벤트와 완전히 동일하다는 것을 알 수 있습니다. 이벤트 바인딩은 재정의되는 대신 겹쳐집니다.
var Eat = function() {
alert( "먹고 싶어요");
}
var PayMoney = function() {
alert("결제 먼저")
jQuery (문서) .ready(function() {
$("#testButton").click(Eat);
$("#testButton").bind("click", PayMoney);
} );
위의 예를 통해 "먹고 싶어요"가 먼저 나타난 다음 "Pay first"가 팝업되어 onclick =fn을 통해 바인딩이 수행됨을 나타냅니다. . Ready 메소드를 수정해 봅시다:
jQuery( document).ready(function() {
$("#testButton").click(Eat);
$("#testButton").unbind();
$("#testButton") .bind( "click", PayMoney)
});
또 오류가 발생했습니다 ㅎㅎ 이번에도 버튼을 누르면 PayMoney만 실행되고 Eat은 실행되지 않습니다. 그런 다음 unbind()를 바인딩한 후에 배치하면 이 버튼이 작동하지 않습니다. 하지만 바인딩된 PayMoney 메서드를 제거하려면 어떻게 해야 합니까? 이때 다음과 같이 작성해야 합니다.
jQuery(문서).ready(function() {
$("#testButton").click(Eat);
$("#testButton").bind("click", PayMoney);
$("#testButton ").unbind("click", PayMoney);
});
실제로는 바인딩과 같지만 다음에는 버그( 계산인지는 모르겠지만, 가까이에서 체험해 보세요