편집 나는배열 출력에서이`#`는 어디서 오는 것입니까?
$(".taskList ul li p").html(outputTime);
/편집 나는 필드가 변경 될 때 타이머를 시작하는 콜백 함수와 jQuery를 Jeditable 플러그인을 사용하고 있습니다에
out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
}
(".taskList ul li p").html(out.join(''));
을 단순화.
버튼을 클릭하면 Jedit 및 click 이벤트 사이의 시간이 계산되고 편집 된 '클릭하여 편집'텍스트 옆에있는 dom에 값이 배치됩니다.이 전체 Div가 새 섹션으로 이동되기 전에 타이머가 재설정되고 원래 Jeditable 인스턴스가 만들어집니다.
내 어려움은 다른 스택 오버플로 게시물 http://jsfiddle.net/wwnyY/11/에서 발견 한 jsfiddle에서 내 코드의 타이머 부분을 많이 차지한다는 것입니다. 이 결과는 내 결과의 앞쪽에 # 문자를 배치합니다.
나는 타이머 코드가 push() 메서드를 사용하고 있으며 이것이 배열을 반환한다는 것을 알아 냈다. 그리고 이것이 나의 여분의 문자가 어디서 왔는지를 알 수있다. 배열은 프로그래밍에 관한 한 현재의 걸림돌입니다. 누군가 내가 배열을 적절히 처리하여 # 코드를 제거 할 수있는 방법을 설명 할 수 있는지 궁금합니다. 아래 코드에서 그 코드를 바꿀 수 있습니다. jsfiddle의 링크를 때문에 코드 http://binarygeometry.net/test/index.html)
<div class="row">
<div class="eight columns">
<div class="row taskList">
<ul>
<li>
<div class="nine columns task">
<div class="edit">
..click to edit
</div>
</div>
<div class="three columns time">
<p>00.00</p>
</div>
</li>
</ul>
</div>
<ul class="row doneList">
<li>
</li>
</ul>
</div>
<div class="four columns">
<p><a href="#" class="success button" id="done">Go!</a></p>
</div>
</div>
$(document).ready(function() {
$(".edit").editable("echo.php", {
placeholder : "Click me to edit",
loadtype : "POST",
callback: function(value, settings) {
startTime = new Date().getTime();
console.log(startTime);
}
});
$("#done").click(function(e){
function update_output() {
var out = [],
displayTime;
for (var i = 0, len = clicks.length; i < len; i++) {
displayTime = (clicks[i].time - startTime);
console.log(displayTime);
outputTime = displayTime //* 0.00001666666;
console.log(outputTime);
outputTime = outputTime.toFixed(0);
console.log(outputTime);
out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
}
$(".taskList ul li p").html(out.join(''));
}
var clicks = [];
clicks.push({ time : new Date().getTime(), target : $(this).attr('href') });
update_output();
$(".taskList ul li").appendTo(".doneList")
$(".edit").removeClass("edit").unbind("click.editable");
$("<li><div class='nine columns task'><div class='edit'>..click to edit</div><div class='three columns time'><p></p></div></li>")
.appendTo(".taskList ul");
$(".edit").editable("echo.php", {
placeholder : "Click me to edit",
loadtype : "POST",
callback: function(value, settings) {
startTime = new Date().getTime();
console.log(startTime);
}
});
e.preventDefault();//
});
});
매트 덕분에, 나는 생각하지 않았습니다. 'out.push ('
으로 어려움을 겪고있다 내가 가지고 있었는지 몰랐던 file.html # 문제를 해결하십시오. 감사! – happilyUnStuck
@happilyUnStuck, 제목을 'SOLVED'로 변경하는 대신 답변을 허용으로 표시하십시오. 이 답의 왼쪽에있는 체크 표시를 클릭하십시오. –