Java Script/JQuery

jQuery 이벤트 해제 (unbind)

서으이 2020. 11. 1. 18:07
728x90
반응형

unbind

요소에서 이전에 연결된 이벤트 처리기를 제거합니다.
jQuery 3.0부터는. unbind()가 더 이상 사용되지 않습니다. 

jQuery 1.7 이후 .off() 메서드로 대체되었으므로 이미 사용하지 않는 것이 좋습니다.

 

$("div#con").unbind("mouseenter"); //div#con mouseenter 이벤트 제거
$("div#con2").unbind(); //div#con2 모든 이벤트 제거
cs

 

형식은 유형에 관계없이 핸들러를 제거합니다. 더 정확하게 말하자면 이벤트 유형을 전달할 수 있습니다.

. unbind("mouseenter");처럼 이벤트 유형을 지정하면 해당 이벤트 유형에 대한 처리기 만 바인딩 해제됩니다.

 

이벤트를 컬러 버튼에 바인딩 및 바인딩 해제가 가능한 예제입니다.

 

<!doctype html>
<head>
  <meta charset="utf-8">
  <title>unbind demo</title>
  <style>
  button {
    margin: 5px;
  }
  button#theone {
    color: red;
    background: yellow;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<button id="theone">Does nothing...</button>
<button id="bind">Bind Click</button>
<button id="unbind">Unbind Click</button>
<div style="display:none;">Click!</div>
 
<script>
function aClick() {
  $( "div" ).show().fadeOut( "slow" );
}
$( "#bind" ).click(function() {
  $( "#theone" )
    .bind( "click", aClick )
    .text( "Can Click!" );
});
$( "#unbind" ).click(function() {
  $( "#theone" )
    .unbind( "click", aClick )
    .text( "Does nothing..." );
});
</script>
 
</body>
</html>
cs

 

728x90
반응형