0
기본 질문 : 하나 이상의 인수가있는 함수가 있습니다. 어떻게 함수 내부에서 마우스 위치를 검색 할 수 있습니까? 내가 의미하는 것을 명확히하는 몇 가지 코드가 있습니다.추가 인수를 사용하여 함수 내에서 마우스 위치 검색
$(element).on("mousedown",checkDragDropEdit);
function checkDragDropEdit() {
if($('.editing').length > 0) {
$('.editing').css('border','3px solid red');
return
} else {
var oldMousePos = checkMousePos();
$(this).bind("mouseup",function(e) {
var newMousePos = [e.pageX,e.pageY];
if(oldMousePos[0] == newMousePos[0] && oldMousePos[1] == newMousePos[1]) {
//makeEditable($(this));
edit($(this));
$(this).off("mousedown",checkDragDropEdit);
}
$(this).unbind("mouseup");
});
}
}
function checkMousePos(e) {
return [e.pageX,e.pageY];
}
이 기능이 작동하지 않으면이 함수는 "Uncaught TypeError : 속성 'pageX'가 정의되지 않음"을 반환합니다.
나는이에 "checkDragDropEdit"기능의 일부를 교환하는 경우, 내가 좌표를 얻을 수있는 반면 :
function checkDragDropEdit(e) {
...
var oldMousePos = [e.pageX,e.pageY];
...
}
기능은 다음과 같이 행동하고 내가 제대로 검색 할 수있는 방법을 왜 누군가가 나에게 설명 할 수 상단 함수 안에 마우스 위치? 그 이유는, 그 함수에 더 많은 인수를 전달하고 싶지만 실행 된 후에도 여전히 마우스 위치를 검색 할 수 있기를 원합니다.
덕분에 많은
덕분에 많은 이벤트 객체를 전달합니다 - 나는 그것이 어떻게 작동하는지 완전히 오해했다 그리고 그것은 함께 어떻게 전달됩니다. 감사합니다. Sushanth. – tricon
한 가지 더 물어 볼 수 있을까요? 한 가지 주위에 머리를 맞출 수 없습니다 - 왜 이것이 작동하지 않습니다 : function checkDragDropEdit (e) {(console.log (e)})(); } 이것은 다음과 같습니다. function checkDragDropEdit (e) {var oldMousePos = mousePos (e); function mousePos (e) {console.log (e)}} 기본 질문에 사과드립니다.) – tricon
그건 논리적입니다 ... 덕분에 1 톤! – tricon