mousestop이 실행될 때까지 정의되지 않았습니까?
하면이처럼보십시오 :
(new Image).src = "/heat-save.php?x=" + evt.pageX + "&y=" + evt.pageY + "&click=false&w=" + window.innerWidth + "&h=" + window.innerHeight + "&l=" + escape(document.location.pathname;
:
// a closure for good measure...
(function($){
var mousestop = function(evt){
// I would use GET because POST makes 2 round trips
$.get("/heat-save.php", {
"x":evt.pageX,
"y":evt.pageY,
"click":false,
"w":window.innerWidth,
"h":window.innerHeight,
"l":escape(document.location.pathname)
});
},
thread = null;
$.fn.saveStops = function() {
return this.bind("mousemove.clickmap", function(evt) {
clearTimeout(thread);
thread = setTimeout(function(){mousestop(evt);}, 500);
});
};
}(jQuery));
당신은 이벤트가이 같은 뭔가 아약스 호출을 대체 할 수
return function() {
clearTimeout(thread);
thread = setTimeout(function(){mousestop(evt);}, 500);
};
여기
내가 리팩토링 얼마나입니다
POST vs GET
또한 서버가 가장 빠른 응답을 위해 200 대신에 "204 No Content"상태 코드를 보내야합니다.
답장을 보내 주셔서 감사합니다. 반환 함수를 변경했지만 여전히 POSTing이 아닌 동일한 동작을 보여줍니다. 그냥 편집 한 것을 보았습니다. 나는 이것을 시도 할 것이다. –
Nathan
우수! 이것은 더 잘 작동했습니다. 고맙다! (단 14 개의 평판 밖에 없다. 그렇지 않으면 나도 너에게 투표 할 것이다. \) – Nathan
아니 그게 다예요. 웹 사이트의 나머지 부분을 점검 하겠지만 히트 맵을 만들려고하는 것은 아닙니다. 이것은 – Nathan