반응형
jquery click이 Ajax 생성 콘텐츠에서 작동하지 않음
사용하고 있다$(".button").on("click", function(){ });
컨테이너에 있는 버튼을 클릭하지만 Ajax 호출이 완료되고 콘텐츠가 새로운 내용으로 업데이트되며 클릭하려고 할 때.button
효과가 없을 거야...버튼을 클릭해도 아무것도 반환되지 않습니다.
노력도 했어요
$(".button").live("click", function(){ });
또는
$(".button").click(function(){ });
어떻게 하면 될까요?
편집: my html:
<div class="container">
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
<input type="button" value="reload" class="button" />
</div>
이런 식으로 해야 한다.
$('body').on('click', '.button', function (){
alert('click!');
});
ajax 요청 중에 변경되지 않는 컨테이너가 있는 경우 다음과 같이 성능이 향상됩니다.
$('.container').on('click', '.button', function (){
alert('click!');
});
항상 동적 요소를 포함하는 가장 가까운 정적 요소에 위임 이벤트를 바인딩하십시오.
네, 파라미터가 1개 부족하기 때문에 .on() 함수를 올바르게 사용하여 문제를 해결했습니다.
대신
$(".button").on("click", function() { } );
나는 사용했다
$(".container").on("click", ".button", function() { } );
대신:
$(".button").on("click", function() { } );
사용:
$(".container").on("click", ".button", function() { } );
이걸 써봤는데 잘 되더라고요.
이게 네가 하려는 거야?참고, 난 지금...$.on()
부모에 대해서입니다만,.button
액션을 위해서.
.on ( events [ , selector ][ , data ] , handler ( event Object ) )
Selector 이벤트를 트리거하는 선택된 요소의 하위 요소를 필터링하는 선택 문자열.셀렉터가 null 또는 생략된 경우 이벤트는 항상 선택한 요소에 도달하면 트리거됩니다.
<div id="stuff">
<button class="button">Click me!</button>
<p>Stuff</p>
</div>
var $stuff = $('#stuff'),
ajaxContent = $stuff.html();
$stuff.on('click', '.button', function(){
$.get('/echo/html/', function(){
$stuff.empty();
console.log($stuff.html());
alert($stuff.html()); // Look behind, #stuff is empty.
$stuff.html(ajaxContent);
console.log($stuff.html());
});
});
또 다른 데모:
var $stuff = $('#stuff'),
ajaxContent = $stuff.html(),
$ajaxContent,
colors = ['blue','green','red'],
color = 0;
$stuff.on('click', '.button', function(){
$.get('/echo/html/', function(){
color++;
if (color == colors.length) color = 0;
console.log($stuff.html());
alert($stuff.html());
$ajaxContent = $(ajaxContent);
$stuff.append($ajaxContent).css('color', colors[color]);
console.log($stuff.html());
});
});
언급URL : https://stackoverflow.com/questions/9344306/jquery-click-doesnt-work-on-ajax-generated-content
반응형
'programing' 카테고리의 다른 글
테이블 내에 커스텀 요소가 있는 AngularJs ng-repeat이 이상하게 렌더링됩니다. (0) | 2023.03.09 |
---|---|
python에서 datetime 객체의 json 직렬화가 datetime 객체에 대해 즉시 작동하지 않는 이유는 무엇입니까? (0) | 2023.03.09 |
소품을 통해 제공되는 이미지가 로드되었을 때 감지하고 반응에서 상태를 변경하는 방법은 무엇입니까? (0) | 2023.03.09 |
각도 8 및 Json 가져오기 (0) | 2023.03.04 |
Java 8 date/time type 'java.time.Instant'는 기본적으로 지원되지 않습니다. 문제: (0) | 2023.03.04 |