jquery에서 live () 방법을 호출하는 것이 잘못되었습니까?
앞말
전에 강의할 때 jquery의 live() 방법을 강의했는데 그때 강의할 때 →현재 또는 미래의 요소를 말했는데 나중에 jQuery의 live 방법이 무효???
jQuery 코드 라이브러리 버전을 1.8 및 1.8로 바꾸기 전에 효과가 있었기 때문에 여기서 총괄해 보겠습니다.
【주체】
(1) 라이브 방법을 사용할 때 jquery의 버전을 주의하고 공식 문서에 따르면 1.7부터 라이브와delegate를 추천하지 않고 1.9에서 라이브를 제거한다.
jQuery , on live 。
jQuery
$("a.offsite").live("click", function(){...}); // jQuery 1.3+
$(document).delegate("a.offsite", "click", function(){...}); // jQuery 1.4.3+
$(document).on("click", "a.offsite", function(){...}); // jQuery 1.7+
(2) 원인 분석:
새 버전의 jquery (> 1.9 버전은 새 버전) 에서live () 방법이 삭제되었기 때문에 호출할 때 이 함수가 존재하지 않고 js가 틀렸다는 것을 알립니다.라이브를 사용할 때는 jquery의 버전을 주의해야 한다. 공식 문서에 따르면 1.7부터 라이브와delegate를 추천하지 않고 1.9리에서 라이브를 제거한다.
(3) 원래 쓰기 방법은 on 귀속 요소 클릭 이벤트입니다.
on() 방법으로 직접 바꾸면 새로 생성된 요소가 이벤트를 다시 눌렀을 때 아무런 효과가 없습니다. 새로운 문법은 다음과 같습니다.
$(document).on("click","table a",function(){...})
( : 1.7)
$(body).on("click","table a",function(){...})
$("table).on("click","a",function(){...})
$("body") 여기가 왜 바디인지, 사실 우리는 다른 거리를 선택할 수 있습니다 #company로고가 더 가까운 노드, 이렇게 하면 더 좋은 성능을 얻을 수 있습니다. 사실 on()은 바디에서 #company 를 찾습니다.로고 노드, 그러니 우리 바디를 #company 로 바꾸자로고의 상급 노드는 더욱 좋은 성능을 얻을 수 있다.
구체적으로 jQuery에 나타난 새로운 추가 요소 클릭 이벤트가 올바르지 않습니다
.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ajax 이용시 로컬 파일이 CORS 에러가 되었을 때의 대응초보의 초보로 입문편의 참고서를 보면서 공부하고 있어, Ajax에서 로컬 파일을 호출하려고했지만 CORS 정책 오류로 인해 실패했습니다. 브라우저에서 로컬 파일(html)을 표시한 것뿐. 사용 브라우저는 chrome...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.