일부 jquery에 어려움을 겪고있는 facebook 앱을 만들고 있습니다. 가장 간단한 용어로 나는 그림과 모든 페이스 북 친구들의 이름이 목록에있는 왼쪽 열을 가지고있다. 내가 그들을 클릭하면 얼굴이 오른쪽 열로 이동하고 왼쪽 열에 css display : none으로 얼굴을 숨 깁니다. 따라서 jquery는 동적으로 오른쪽 열에 목록을 추가합니다.jquery와 함께 .live를 사용하는 하위 개체
또한 왼쪽 열의 얼굴을 클릭하면 오른쪽 열로 이동하기 전에 그 사람을 선택했다는 팝업이 나타납니다.
지금까지 모두 잘 작동합니다 (나와 함께 맺어주십시오). 오른손 칼럼에 얼굴이 있으면 오른손 칼럼에서 제거 할 수있는 옵션이 있습니다. 이 버튼을 클릭하면 얼굴이 삭제되고 그 사람을 삭제했다는 팝업이 나타납니다. 모든 것은 팝 업이 목록에있는 사람 이름을 찾을 수 없다는 사실과 별개로 작동하며 정의되지 않는다고 말합니다. 이것은 (이 완벽하게 작동)
$(".list").live("click", function() {
var id = $(this).attr("id");
var PersonName = $(this).children('.listcontent').children('.pname').html();
var hiddenid = $("#HiddenField1").val() + '|' + id;
$("#HiddenField1").val(hiddenid);
var hiddenperson = $("HiddenField3").val() + '|' + PersonName;
$("#HiddenField3").val(hiddenperson);
var url = "http://graph.facebook.com/" + id + "/picture?type=large";
$("#personimage").attr('src', url);
var src = "http://graph.facebook.com/" + id + "/picture?type=square";
var lightboxmessage = "<h2>You have selected " + PersonName + "</h2>";
$("#lightboxcontentright").html(lightboxmessage);
$("#lightbox, #lightbox-panel").fadeIn(300)
var personexists = findimage(id);
if (personexists == "false") {
var newperson = "<li class='list1' id='" + id + "A'><div class='listcontent'><img src=" + src + "><label css='pname'>" + PersonName + "</label></div><div class='selectme'><Label>Delete</Label></div></li>";
$("#selectedlist").append(newperson);
$(this).css("display", "none");
}
});
이 내가이있을 수 있습니다 생각
$(".list1").live("click", function() {
var id1 = $(this).attr("id");
var id = id1.substring(0, id1.length - 1);
<! -- THIS IS THE BIT THAT DOES NOT WORK
var PersonName = $(this).children(".listcontent").children(".pname").html();
alert(PersonName);
<!-- END -->
var hiddenid = $("#HiddenField1").val();
hiddenid = hiddenid.replace('|' + id, '');
$("#HiddenField1").val(hiddenid);
var hiddenperson = $("#HiddenField3").val();
hiddenperson = hiddenperson.replace('|' + PersonName, '');
$("#HiddenField3").val(hiddenperson);
var url = "http://graph.facebook.com/" + id + "/picture?type=large";
$("#personimage").attr('src', url);
var lightboxmessage = "<h2>You have de-selected " + PersonName + "</h2>";
$("#lightboxcontentright").html(lightboxmessage);
$("#lightbox, #lightbox-panel").fadeIn(300);
$(this).css("display", "none");
$("#" + id + "").css("display", "inherit");
});
오른쪽 열에서 얼굴을 제거하는 코드입니다 오른쪽 열에에 사람을 추가하는 코드입니다 .live 함수와 관련이 있거나 동적으로 목록을 만드는 것. 당신은 당신이 라벨에 'CSS'로 '클래스를'맞춤법이 틀린 한 첫 번째 코드 블록이 라인에서 미리
감가 상각되기 때문에 .live 대신 .on을 사용하는 것이 좋습니다. –
*은 * 사용되지 않지만'.live()'에 별명이 지정된 유예 기간이 있으므로 개발자는 코드를 업데이트 할 수 있습니다. –