내 document.ready에 다음 작업이 있습니다. 내가하려고하는 것은 ID가 '_View_memberDirectory
'로 끝나는 div를 선택적으로 제거하는 것입니다. 따라서 아래 함수가 아닌 경우 작동하는 다음 코드를 추가합니다. 그러나, 나는 그것을 내 기능 안에 넣을 때 작동하지 않는다. 현재 부울 값은 항상 true
입니다. 어떤 아이디어? document.ready에 DOMNodeInserted로 Bind 이벤트를 등록하는 중
$("[id$='_View_memberDirectory']").bind('DOMNodeInserted', function (event) {
$(this).empty();
});
내 스크립트를
<script type="text/javascript">
$(document).ready(function() {
$(function() {
var bIsContact;
bIsContact = IsContact();
if (bIsContact.responseText === "true") {
//does not work here
$("[id$='_View_memberDirectory']").bind('DOMNodeInserted', function (event) {
$(this).empty();
});
}
else {
e.preventDefault;
}
});
//works here <-------
});
편집 : 추가 IsContact() 함수가
대신 AJAX 호출에서 async: false
를 사용하지 않는 것이 좋습니다
function IsContact() {
var friendId = <%= Request.QueryString("UserID").ToString()%> + '';
var sf = $.ServicesFramework(<%=ModuleId %>);
var serviceUrl = sf.getServiceRoot('OmniBody');
var obj = { "friendId": friendId };
return $.ajax({
type: "POST",
cache: false,
url: serviceUrl + "/ModuleTask/IsContact",
beforeSend: sf.setModuleHeaders,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(obj)
}).done(function (result) {
}).fail(function (xhr, result, status) {
alert(result);
});
}
다른 DOM 준비 핸들러에서'$ (function() {'을 (를) 사용하는 이유는 무엇입니까? 그것을 제거하고'IsContact()'의 코드를 보여줄 수 있습니까? – Satpal
@Satpal 삭제했습니다. 여전히 작동하지 않습니다. – alwaysVBNET
'e.preventDefault; –