이상한 질문입니다. 내 블로그의 사이드 바에있는 작은 플러그인을 확장하려고합니다. 플러그인에는 약간의 Ajax가 함께 제공됩니다. 양식이 포함되어 있으며 제출시 d iv#error_msg
또는 div#success_msg
을로드합니다 (모두 ajax를 통해).jQuery : if 요소에 ajax 이벤트가로드되면?
이 div 중 하나가 나타날 때 알아내는 방법이 있습니까? 원하는 내용을 얻으십시오. 양식을 제출할 때 사이드 바에있는 양식에 텍스트를 추가하고 싶습니다. 두 div 중 하나 (오류 또는 성공)가 해당 형식으로로드되자 마자 앞에 붙은 요소를 다시 제거하려고합니다.
어떻게 할 수 있는지 알고 계십니까? 나는 플러그인의 소스 코드를 편집하고 싶지 않다!
편집 : checkMsg() 정의되지 않았습니다! 왜?
var check = 0;
function showLoader() {
$('#mc_signup_form').prepend('<span class="loading"> loading </span>');
check = setInterval ("checkMsg()" , 300);
}
function checkMsg() {
if ($('.mc_error_msg').length == 0 || $('.mc_success_msg').length == 0) {
$('#mc_signup_form .loading').remove();
clearInterval(check);
}
}
이것은 아약스를 통해로드하는 유일한 것입니까, 아니면 계속 진행중인 다른 것들입니까? –
그냥 아약스 로딩 중입니까? 나는 100 % 확실하지 않다. 그것은 전자 메일 주소를 데이터베이스에 보내고 true 또는 false를 반환합니다. – matt
정말 요소를 제거해야합니까? 그렇지 않다면 jQuery의'live'를 사용하여 양식 제출에 바인딩을 시도한 다음 요소를 추가하거나 이미 존재하는 경우 요소를 변경하십시오. 이벤트가 발생할 수있는 순서로 인해 작동하는지 확실하지 않지만 빠른 시도 가치가 있습니다. http://api.jquery.com/live/ –