찾다
웹 프론트엔드JS 튜토리얼jQuery events_jquery의 네임스페이스에 대한 간략한 이해

jQuery를 사용하면 이벤트 리스너 바인딩 및 바인딩 해제가 매우 간단합니다. 하지만 요소의 이벤트에 바인딩된 여러 리스너가 있는 경우 리스너 중 하나를 정확히 어떻게 바인딩 해제합니까? 이벤트의 네임스페이스를 이해해야 합니다.

아래 코드를 보세요:

코드를 복사하세요 코드는 다음과 같습니다.

$('#element')
.on('click', doSomething)
.on('click', doSomethingElse)

다음과 같이 이벤트 리스너를 바인딩합니다. 위에서 요소를 클릭하면 doSomething 및 doSomethingElse 리스너가 모두 트리거됩니다. 이는 jQuery를 사용하면 편리하며, 언제든지 요소의 동일한 이벤트에 다른 리스너를 추가할 수 있습니다. onclick과 달리 새 리스너는 이전 리스너를 덮어씁니다.

doSomething과 같은 리스너 중 하나의 바인딩을 해제하려면 어떻게 해야 하나요?

그런가요?
코드 복사 코드는 다음과 같습니다.

$('#element').off ('클릭');

주의하세요! 위의 코드 줄은 요소의 클릭 이벤트에 대한 모든 리스너를 바인딩 해제하지만 이는 우리가 원하는 결과가 아닙니다.

다행히도 jQuery의 .off() 메서드는 .on() 처럼 두 번째 인수를 받아들일 수 있습니다. 리스너 함수의 이름이 .off() 메소드에 두 번째 매개변수로 전달되는 한, 지정된 리스너는 바인딩 해제될 수 있습니다.
코드 복사 코드는 다음과 같습니다.

$('#element').off ('click', doSomething);

그러나 이 함수의 이름을 모르거나 익명 함수를 사용하는 경우:
코드 복사 코드는 다음과 같습니다.

$('#element').on('click', function() {
console.log('doSomething');
});

클릭 이벤트 리스너를 정확하게 바인딩 해제하는 방법은 무엇입니까?
먼저 코드를 입력하세요:
코드를 복사하세요 코드는 다음과 같습니다:

$('#element ').on('click.myNamespace', function() {
console.log('doSomething');
})

이것은 아닙니다. 클릭 이벤트에 대해 매개변수로 .on() 메서드를 전달하되 클릭 이벤트에 대한 네임스페이스를 지정한 다음 이 네임스페이스에서 클릭 이벤트를 수신합니다. 이 시점에서는 리스너가 익명 함수이더라도 실제로는 "이름이 지정"됩니다. 이제 다음과 같이 특정 네임스페이스에서 이벤트 리스너를 바인딩 해제할 수 있습니다.
코드 복사 코드는 다음과 같습니다.

$('#element').off ('click .myNamespace');

이것은 jQuery가 제공하는 또 다른 편리하고 강력한 기능이며, 내부 구현은 확실히 흥미롭습니다!
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
jquery实现多少秒后隐藏图片jquery实现多少秒后隐藏图片Apr 20, 2022 pm 05:33 PM

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

axios与jquery的区别是什么axios与jquery的区别是什么Apr 20, 2022 pm 06:18 PM

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

jquery怎么修改min-height样式jquery怎么修改min-height样式Apr 20, 2022 pm 12:19 PM

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

jquery怎么在body中增加元素jquery怎么在body中增加元素Apr 22, 2022 am 11:13 AM

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

jquery怎么删除div内所有子元素jquery怎么删除div内所有子元素Apr 21, 2022 pm 07:08 PM

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

jquery中apply()方法怎么用jquery中apply()方法怎么用Apr 24, 2022 pm 05:35 PM

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

jquery怎么去掉只读属性jquery怎么去掉只读属性Apr 20, 2022 pm 07:55 PM

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

jquery on()有几个参数jquery on()有几个参数Apr 21, 2022 am 11:29 AM

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구