이 문서의 예에서는 jQuery 바인딩 이벤트 리스너 바인딩 사용법과 이벤트 리스너 바인딩 해제 제거 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
여기서 각각 바인딩(eventType,[data],Listener)//data를 선택적 매개변수로 사용하면 one() 메서드에 바인딩된 이벤트는 한 번 실행된 후 자동으로 삭제됩니다. unbind(eventType,Listener),
예:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>unbind(eventType,listener)</title> <style type="text/css"> <!-- img{ border:1px solid #000000; } input{ border:1px solid #570000; } --> </style> <script language="javascript" src="jquery.min.js"></script> <script language="javascript"> $(function(){ var fnMyFunc1; //函数变量 $("img") .bind("click",fnMyFunc1 = function(){ //赋给函数变量 $("#show").append("<div>点击事件1</div>"); }) .bind("click",function(){ $("#show").append("<div>点击事件2</div>"); }) .bind("click",function(){ $("#show").append("<div>点击事件3</div>"); }); $("input[type=button]").click(function(){ $("img").unbind("click",fnMyFunc1); //移除事件监听myFunc1 }); }); </script> </head> <body> <img src="11.jpg"> <input type="button" value="移除事件1"> <div id="show"></div> </body> </html>
이 테스트 코드를 다시 살펴보세요.
<body> <input type="button" name="aaa" value="点击我"> <input type="checkbox" name="checkbox1"> </body>
JQuery 코드:
$().ready(function(){ for (var i = 0; i < 3; i++) { $("input[type='button']").click(function(){ alert("aaaa"); }); } }
alert("aaaa")는 3번 실행됩니다. 이벤트 중첩 이벤트에서 이러한 상황을 보고 싶지 않으면 이때 상위 이벤트를 비활성화해야 합니다. 그리고 문제를 해결하기 위해 함수를 바인딩 해제합니다.
기능 소개:
for (var i = 0; i < 3; i++) { $("input[type='button']").unbind("click"); $("input[type='button']").bind("click", function(){ alert("aaa"); }); }
alert("aaa"); 한 번만 실행됩니다.
bind() 메소드는 선택한 요소에 하나 이상의 이벤트 핸들러를 추가하고 이벤트 발생 시 실행할 함수를 지정합니다
unbind() 메서드는 선택한 요소의 이벤트 핸들러를 제거합니다. 이벤트 핸들러 전체 또는 선택한 이벤트 핸들러를 제거하거나 이벤트 발생 시 지정된 함수의 실행을 종료하는 기능.
이벤트 는 이벤트 유형이며 유형에는 다음이 포함됩니다: 흐림, flcus, 로드, 크기 조정, 스크롤, 언로드, 클릭, dblclikc, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, 변경 , select , submit, keydown, keypress, keyup, error 등은 물론 사용자 정의 이름일 수도 있습니다.
data는 선택적 매개변수이며, 이벤트 객체의 추가 데이터 객체에 event.data 속성 값이 전달됩니다.
함수는 바인딩에 사용되는 처리 함수입니다.
문법:
$(selector).bind(event,data,function)
이벤트와 함수는 설명을 위해 다음 코드 조각을 가리켜야 합니다.
예 1: p의 모든 이벤트 삭제
$("p").unbind("click",test); $("p").bind("click",test);
참고: .bind()를 정의하려면 어떤 이벤트와 함수를 지정해야 합니다.
이제 간단한 데모를 살펴보겠습니다. 전체 div에 클릭하여 축소 및 확장 이벤트가 있습니다. 링크를 클릭하고 싶지만 div의 클릭 이벤트를 트리거하지 않으려면 링크가 클릭될 때 div의 클릭 이벤트를 비활성화해야 합니다. 여기서 링크 mouseenter 이벤트는 div 이벤트를 바인딩 해제하고 삭제하는 데 사용됩니다. 아직 끝이 아닙니다. 이때 마우스가 링크 영역에 진입하는 한 div의 클릭 이벤트가 삭제됩니다. 또한 마우스가 링크 영역 밖으로 이동할 때의 div 클릭 이벤트 복원도 추가해야 합니다. 링크 영역. 코드는 다음과 같습니다.
$(function(){ var Func = function(){ $(".com2").toggle(200); } $(".test").click(Func) $(".test a").mouseenter(function(){ $(".test").unbind(); //删除.test的所有事件 }); $(".test a").mouseleave(function(){ $(".test").bind("click",Func); //添加click事件 }); });
이벤트는 이벤트 종류입니다
…
function은 바인딩에 사용되는 처리 기능입니다.
jQuery 이벤트와 관련된 더 많은 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제인 "jQuery 공통 이벤트 사용 및 기술 요약"
을 확인할 수 있습니다.이 기사가 jQuery 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.