2013-02-19 2 views
0

나는 몇 시간 동안 그 문제를 응시 해 왔습니다. 나는 Jquery를 배우기 시작했으며, 순서가없는 목록의 요소를 지우기 위해 버튼을 사용해야하는 작은 프로젝트가있다.정렬되지 않은 목록 단추가 작동하지 않음

먼저, 사용자의 마우스 위치 및 마우스 클릭을 가장 많이 추적합니다. 버튼을 클릭 할 때마다 정렬되지 않은 목록을 만들고 x, y 위치를 기록합니다. 그런 다음 버튼을 사용하여 목록을 지우겠다고합니다. 모든 것이 잘 작동하는 것처럼 보이지만 버튼을 클릭하면이를 지우지 않고 목록에 추가됩니다.

누구든지 나를 찾아 낼 수 있습니까?

<!doctype html> 
<head> 
<title>Click away</title> 
<link href="stylesheets/standard.css" rel="stylesheet"> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script> 
var count = 0; 
$("html").click(function(){ 
count++; 
$("#display").html("The click count is: " + count); 
}); 
$("html").click(function(e) { 
var xPos = e.pageX; 
var yPos = e.pageY; 
$("#list").append("<li>" + xPos + ", " + yPos + "</li>"); 
}); 
//This is the section I can't get to work 
$("#clear").click(function() { 
$("#list").remove(); 
}); 
</script> 
</head> 
<body> 
<h1> Click away</h1> 
<h2>Start clicking...</h2> 
<h2 id="display"></h2> 
<button id="clear">Clear the location list</button> 
<h2>Click locations:</h2> 
<ul id="list"></ul> 
</body> 
</html> 

답변

1

사용 $("#list").empty();

. 보이지 didnt가

$(document).ready(function(e) { 

    var count = 0; 
    $("html").click(function() { 
     count++; 
     $("#display").html("The click count is: " + count); 
    }); 
    $("html").click(function (e) { 
     if (e.target !== document.getElementById('clear')) { //exclude the clear button 
      var xPos = e.pageX; 
      var yPos = e.pageY; 
      $("#list").append("<li>" + xPos + ", " + yPos + "</li>"); 
     } 
    }); 

    $("#clear").click(function() { 
     $("#list").empty(); //empty list 
    }); 

}); 
+0

를 작동 :

나는 DOM이 준비하고 요소가로드 된 후 당신은 또한 목록에서 지우기 버튼을 제외하고 코드가 실행되도록 .ready() 핸들러 내부에 코드를 삽입해야한다고 생각 나는 이것을 구현하려고 시도했다. 버튼을 클릭하면 목록이 커지는 것을 멈추고 더 이상 항목을 추가하지 않지만 지우지는 않습니다. – Upstart

+0

이 작업 예제를 참조하십시오 : http://jsfiddle.net/onury/8etwg/ –

+0

업데이트 된 답변보기 ... –

0

$("#list").empty();

그것은 요소의 모든 자식을 취소합니다. $("#list").children().remove();도 작동하지만 첫 번째가 더 효율적 사용

+0

이 – Upstart

관련 문제