블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

최근에 올라온 글

자바스크립트에서, onload()같은 콜백함수에 인자(파라메터)를 넘기는 방법에 대해 테스트해보았다.

C언어와 동작방식이 달라서, 어렵다.

결론 : 아래와 같이 작성한 경우, onload()함수를 호출한 곳의 파라메터 및 지역변수까지 모두 보존된다.(호출이 끝날때까지)

테스트환경 : 크롬브라우져

var test_parm,test_url,test_i=0;
function test_print_parm1(i)
{
	console.log("test_print_parm1()--------",i);
	console.log("test_parm=",test_parm);
	console.log("test_url=",test_url);
	console.log("test_i=",test_i);
	console.log("--------");
}
function test_call_back(url,parm)
{
	var i=10,a=new Image();
	i++;
	//a.onload=onload;
	a.onload=function()
	{
		console.log("test_call_back::onload()");
		test_parm=parm;//지역변수, 파라메터, 모두 보존된다. 헐~
		test_url=url;
		test_i=i;
		test_print_parm1(i);
	};
	a.src=url;
	return a;
}
var test_img,parm1,parm2;
parm1="img/k81.JPG";
parm2="test_parm";
test_img=test_call_back(parm1,parm2);
console.log("test_call_back() end1");
test_print_parm1(1);
parm1="xxx1";
parm2="xxx2";
test_print_parm1(2);

parm1="img/j2.JPG";
parm2="test_parm2";
test_img=test_call_back(parm1,parm2);
console.log("test_call_back() end2");
test_print_parm1(3);
parm1="xxx11";
parm2="xxx22";
test_print_parm1(4);


Posted by 안녕1999
, |

자바스크립트에서는, 마우스 이벤트 핸들러 함수등록시, event 1개만 사용할 수 있다.

onmousedown(event)

html로 넣을때는 사용자 변수(값)을 추가할 수 있으나, 자바스크립트로는 어렵다.


간단하게, object에 사용자 변수를 추가하여, 해결할 수 있다.

단, 기존 변수와 이름이 중복되면, 기존값은 사라진다.

예)

img1.parm1=user_data1;

img1.onmousedown=startDrag;

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함