> 웹 프론트엔드 > JS 튜토리얼 > ASP.NET UpdatePanel에서 jQuery 마우스오버 효과를 유지하는 방법은 무엇입니까?

ASP.NET UpdatePanel에서 jQuery 마우스오버 효과를 유지하는 방법은 무엇입니까?

DDD
풀어 주다: 2024-12-03 08:47:09
원래의
834명이 탐색했습니다.

How to Maintain jQuery Mouseover Effects in ASP.NET UpdatePanels?

jQuery $(document).ready 및 UpdatePanels: 세련된 디자인

jQuery를 활용하여 UpdatePanel 내의 요소에 마우스 오버 효과를 적용할 때, 초기 페이지 로드는 의도한 대로 작동합니다. 그러나 UpdatePanel에 의해 시작된 부분 페이지 업데이트 중에는 해당 특정 영역 내에서 마우스 오버 효과가 더 이상 작동하지 않습니다.

이는 UpdatePanel이 패널의 콘텐츠를 정밀 검사하여 이전 요소에 연결된 모든 이벤트 구독을 효과적으로 제거하기 때문에 발생합니다. . 이 문제를 해결하려면 각 업데이트 후에 필수 이벤트를 다시 구독하는 것이 좋습니다. 이는 초기 로드를 위한 $(document).ready를 후속 업데이트를 위한 Microsoft의 PageRequestManager 개체와 결합하여 달성할 수 있습니다.

UpdatePanel이 있을 때 자동으로 사용 가능한 JavaScript 개체인 PageRequestManager는 트리거되는 endRequest 이벤트를 제공합니다. 업데이트 완료 시. 아래와 같이 이를 활용하여 jQuery 이벤트를 다시 바인딩할 수 있습니다.

$(document).ready(function() {
    // Initial event binding
});

var prm = Sys.WebForms.PageRequestManager.getInstance();

prm.add_endRequest(function() {
    // Event re-binding after update
});
로그인 후 복사

PageRequestManager 이벤트는 보낸 사람 및 eventArgs에 대한 액세스를 제공하므로 다시 바인딩을 보다 세밀하게 제어할 수 있습니다. 자세한 내용은 Microsoft 설명서를 참조하십시오: msdn.microsoft.com/.../bb383810.aspx

매우 동적인 시나리오에 특히 적합한 대체 접근 방식은 jQuery의 .on() 메서드를 활용하는 것입니다. .on()은 빈번한 재구독에 비해 향상된 효율성을 제공합니다. 그러나 모든 jQuery 플러그인이 .on()을 활용하도록 쉽게 리팩터링될 수 있는 것은 아니기 때문에 결정을 내리기 전에 문서를 철저히 검토하는 것이 중요합니다. 이러한 경우에는 재구독이 더 실용적인 해결책입니다.

위 내용은 ASP.NET UpdatePanel에서 jQuery 마우스오버 효과를 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿