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에 나타난 새로운 추가 요소 클릭 이벤트가 올바르지 않습니다
 
 
 
.

좋은 웹페이지 즐겨찾기