개발 Q&A

제목 jQuery에 관하여
카테고리 JavaScript
글쓴이 헛발이 작성시각 2021/07/10 10:54:05
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 6814   RSS

이런 경우에는 어떻게 해야 하는지 알고 싶습니다.

 

test.js

$("*[name=btnClick]").on("click", function (e) {
  $("#body").text("<button name="test" type="button">창띄우기2</button>");
});

$("*[name=test]").on("click", function (e) {
  alert('test');
});

 

test.php

<div id="body"></div>
 
<button name="btnClick" type="button" >클릭</button>
<button name="test" type="button">창띄우기1</button>

 

이런 흐름이 있다고 가정해 봅니다.

왜 저렇게 만들었냐 하고 질책할수 있지만 그것이 궁굼한것은 아니구요..

 

궁굼한것은 페이지에서 버튼을 클릭해서 버튼을 추가 하는 스크립트를 만들었어요.

그리고 추가된 창띄우기버튼2에서 클릭을 하면 제이쿼리를 실행 하지 않습니다.

하지만 이미 추가된 본문에 있는 창띄우기버튼1에서는 실행이 잘 된다는것이죠

 

궁굼한것이 왜 본문에 나중에 추가된 버튼은 제이쿼리를 인식하지 못하는가가 궁굼중입니다.

고수님들 궁굼중을 해결해 주세요

 

혹시 해결방법은 없는지요?

 다음글 mysql에 채팅 내용 저장에 관한 질문입니다.(실제 ... (2)
 이전글 CodeIgniter 사이트에 비번은 어떻게 바꾸나요? (1)

댓글

/ 2021/07/10 10:56:18 / 추천 0
새로생성된 엘리먼트에는 이벤트가 바인딩 되지 않아서 입니다
헛발이 / 2021/07/10 10:57:11 / 추천 0
이런 경우에는 해결 방법이 없나요?
헛발이 / 2021/07/10 14:05:12 / 추천 0

풉님 감사합니다. 

답변에서 힌트를 얻어 해결되었습니다.

감솨합니다.

 

항상 느끼지만 정말 많은 힘이 됩니다

테러보이 / 2021/07/15 09:04:01 / 추천 0

$(document).on('click', '[name=test]', function(e) {

    alert();

});

 

처럼 하면 될듯합니다.

 

또한 본문중 에러가 있습니다.

$("#body").text("<button name="test" type="button">창띄우기2</button>");

가 아니라

$("#body").html('<button name="test" type="button">창띄우기2</button>');

로 해야 에러가 안납니다.