최선을 다해서 설명 드리겠습니다 ...eval이 추가 된 이벤트 리스너 제거
페이지가 있으니 페이지 A라고하겠습니다. 해당 페이지에서 버튼을 클릭하면 ajax 요청이 전송되고 반환 데이터는 eval()입니다. 해당 데이터에는 분명히 자바 스크립트 코드가 들어 있습니다. 이 코드에는 eval 된 경우 pageA에 추가되는 이벤트 리스너가 포함될 수 있습니다. jquery $ ('body')와 같은 것. 예를 들어 click().
pageA의 버튼을 다시 클릭하면 해당 이벤트에 추가 된 모든 이벤트 리스너와 데이터를 제거 할 수있는 기능이 있습니까?
데이터를 평가하기 전에 변수에 ajax 호출에서 반환 된 모든 데이터를 캡처하므로 $ (data) .remove()를 수행하고 모든 이벤트 리스너와 데이터를 마술처럼 사라지게하는 방법이 있습니다. ?
평가 데이터를 사용하면 페이지에서 텍스트를 제거하고 모든 문제를 해결할 수있는 페이지 자체에는 실제로 추가되지 않지만 이벤트 리스너는 확실히 머물러 있습니다.
아이디어가 있으십니까?
당신이 더 나은 방법을 알고 있다면, 나는 그것을 듣기보다 기쁠 것입니다. 나는 스크립트를 머리에 붙이려고했지만 스크립트 태그는 작동하지 않는다. 특히 eval은 나 자신을 좋아하지 않는다 .... 그래서 어떤 제안이 들릴 것이다. –
@Senica 스크립트를 추가하면 eval보다 훨씬 좋을 것입니다. 그들은 더 느리고 악용 될 수 있습니다. 아이디어는 실행 가능한 코드 대신 데이터를 보내려고 시도하는 것입니다. –
맞아, 불행히도 내 경우에는 작동하지 않습니다. 이것은 관리자와 플러그인을위한 것입니다. 플러그인 코드는 eval 된 것입니다. 플러그인을 통해 수행 할 수있는 작업을 제한하고 싶지는 않습니다. 플러그인을 제거 할 수 있어야합니다. –