몇 달 전 프로젝트에서 트리바에 참여했는데, 플러그인을 많이 찾아보다가 좀 번거로워서 직접 작성했는데, 매번 문제가 생기기 시작했습니다. 나는 그것을 계속했다.
당시 프로젝트는 트리 바를 통해 제어되었으며, 관리자는 $(".XX")를 사용하여 데이터베이스의 데이터에 대한 트리 바를 동적으로 생성할 수 있었습니다. .click() 메서드는 불가능합니다.
1. 이전에 jq1.4.3을 사용했는데 jq1.7에서 live() 메서드를 사용하여 이 기능을 구현할 수 있습니다
$(‘#div').live(‘click',function(){ //do stuff });
그러나 라이브 메소드에는 토글 이벤트와 같은 지원되지 않는 이벤트도 있습니다. 이 상황이 발생하면 클릭 이벤트를 추가한 다음 클릭 트리거 이벤트를 시뮬레이션하면 괜찮습니다.
$('a').live('click',function(){ $(this).toggle(function(){ alert("q11"); // alert($(this).attr("id")); $(this).parent().children('ul').show(); },function(){ $(this).parent().children('ul').hide(); }); $(this).trigger('click'); /** 之前绑定的click事件,只有点击了才会触发toggle事件,所以就给他加上模拟点击事件,不需要点击直接出发 **/ });
2. jq1.7 이상에서는 on 메소드를 사용합니다. 첫 번째 속성은 이벤트, 두 번째는 선택자, 세 번째는 실행 방법입니다
$(document).on("click","#d1",function(){ alert("bbbbb"); });