경험이 풍부한 jQuery 사용자는 이벤트 바인딩에 익숙하지만 최적화는 코드 견고성과 유지 관리를 향상시킵니다. 이 기사는보다 효과적인 jQuery 이벤트 바인딩 기술을 탐구합니다.
주요 개선 사항 :
선택기의 데이터 속성 CSS 클래스 대신 data-hook 속성 사용은 프리젠 테이션 및 상호 작용 로직을 분리합니다. CSS 클래스 변경은 JavaScript를 깨뜨리지 않습니다
이름 지명 된 기능 핸들러로서 : 익명 함수를 명명 된 함수로 바꾸는 것은 가독성을 향상시키고, 재사용 가능성을 가능하게하며, 테스트를 단순화합니다. .
정확한 제어를위한 네임 스페이스 : jQuery의 네임 스페이스 기능은 이벤트 바인딩 및 풀림에 대한 세분화 제어, 특히 플러그인에서 정리를 단순화합니다.
향상된 선택기 전략 :
간단한 NAV 메뉴 토글을 고려하십시오
토글 NAV 메뉴
<https:>
<https:>
<li> West Philadelphia <strong> <https:>
<https:> 택시 휘파람 <a href="https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712cab"> <https:>
왕좌에 앉아 <https:>
<li>
<a href="https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712throne"> <https:>
CSS 클래스에 의존하는 대신 <ely> :
<https:> $ ( '. nav-menu-toggle'). on ( 'click', function () {
$ ( 'nav'). toggle ();
}); <https:>
<https:>보다 탄력적 인 코드에 대한 <https:> data-hook <https:> 속성 사용 :
$ ( '[data-hook = "nav-menu-toggle"]'). on ( 'click', function () {
$ ( '[data-hook = "nav-menu"]'). toggle ();
}); <p>
<this> 사용자 정의 jQuery 함수로 이것을 더욱 향상시킵니다 :
$. Extend ({{
후크 : 함수 (hookname) {
return $ (`[data-hook ~ = "$ {hookname || '*'}"]`);
}
});
$ .hook ( 'nav-menu-toggle'). on ( 'click', function () {
$ .hook ( 'nav-menu'). toggle ();
}); <https:>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">이 hook 함수는 선택기 사용량을 단순화하고 단일 요소에서 여러 공간 구분 후크 이름을 허용합니다.
<code class="language-javascript"> 익명 함수 방지 : <https:>
<c> 이름이 지정된 기능을 사용하면 가독성과 테스트 성이 향상됩니다
함수 togglenavmenu () {
$ .hook ( 'nav-menu'). toggle ();
}$ .hook ( 'nav-menu-toggle'). on ( 'click', togglenavmenu); <https:>
<https:> 여러 이벤트 처리 :
<eff eff> jQuery는 여러 이벤트를 효율적으로 처리합니다
$. hook ( 'nav-menu-toggle'). on ( 'Keydown MouseEnter', 추적); https://www.php.cn/link/29A9F8C8460E5E2BE4EDDE557FD83712HTTPS://www.php.cn/link/29A9A9F8C8460E5E5E5E5E24EDDE557FD83712 다중 이벤트
$ .hook ( 'Nav-Menu-Toggle'). on ({{
'클릭': 트랙 클릭,
'키 다운': TrackKeyDown,
'마우스 센터': 트랙 마우스 엔터
}); https://www.php.cn/link/29A9F8C8460E5E2BE4EDDE557FD83712HTTPS://www.php.cn/link/29A9A9F8C8460E5E5E5E24EDDE557FD83712 다른 손잡이
<events events> off () 가있는 <events events> undinding 이벤트는주의가 필요합니다. 네임 스페이스를 사용하면 관련없는 핸들러를 우연히 제거하는 것을 방지합니다
https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd 83712
$ .hook ( 'Click-Track'). on ( 'click.analytics', trackclick);
https://www.php.cn/link/29A9F8C8460E5E2BE4EDDE557FD83712HTTPS://www.php.cn/link/29A9A9F8C8460E5E5E5E5E24EDDE557FD83712와 함께
$ .hook ( 'Click-Track'). off ( 'Click.analytics');
https://www.php.cn/link/29a9f8c8460e5e2be4edde557fd83712https://www.php.cn/link/29A9A9F8c8460E5E5E5E24EDDE557FD8312 모든 RELTICS 'ELLETICS'ELTERMETS 'SELLESTICS'ELLETMETS에서 모든 RESTICS 'SELLEST에서 모든 RESTICS'SEREST
$ ( '*'). off ( '. Analytics'); <strong> <https:>
<https:> 결론 : <p>
이러한 기술은보다 강력하고 유지 관리 가능하며 테스트 가능한 jQuery 이벤트 처리 코드를 만듭니다. 네임 스페이스는 특히 복잡한 응용 프로그램 및 플러그인 개발에 유용합니다. <https:> data-hook 속성 및 명명 된 함수의 사용은 코드 선명도를 크게 향상시키고 의도하지 않은 부작용의 위험을 줄입니다. <pre class="brush:php;toolbar:false">.</pre><div class="contentsignin">로그인 후 복사</div></div></https:></p></https:></https:></strong></events></events></eff></https:></https:></c></https:>
위 내용은 jQuery를 사용한 효과적인 이벤트 바인딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!