js 이벤트를 배열로 넣기
일반이벤트나 리스너이벤트나 원리는 동일합니다.
보통 onclick 시의 이벤트는 아래처럼 사용합니다.
ID.onclick = function() {
온클릭시 일어나는 이벤트;
}
----------
이건 아래처럼 대괄호에 이벤트를 따옴표 안에 문자열로 넣고 사용할 수 있습니다.
ID["onclick"] = function() {
온클릭시 일어나는 이벤트;
}
----------
문자열 사용이 가능하므로 이벤트를 문자열로 준 배열의 사용이 가능합니다.
myEvent = ["onclick"];
ID[myEvent[0]] = function() {
온클릭시 일어나는 이벤트;
}
----------
아래는 예제입니다. id 를 my 로 준 span 의 내용을 번갈아 바꾸는 이벤트입니다.
<span id=my style=cursor:pointer>sir</span>
<script>
myEvent = ["onclick"];
my[myEvent[0]] = function() {
my.innerText = my.innerText == "sir" ? "그누보드" : "sir";
}
</script>
----------
배열을 사용했으므로 for 문으로 돌릴 수 있습니다.
예컨대 온클릭, 온마우스오버, 온마우스아웃에 동일한 이벤트를 같이 줄수가 있겠죠.
<span id=my style=cursor:pointer>sir</span>
<script>
myEvent = ["onclick", "onmouseover", "onmouseout"];
for (i = 0; i < myEvent.length; i++) {
my[myEvent[i]] = function() {
my.innerText = my.innerText == "sir" ? "그누보드" : "sir";
}
}
</script>
----------
포인문을 쓰면 더 편하겠지요.
<span id=my style=cursor:pointer>sir</span>
<script>
myEvent = ["onclick", "onmouseover", "onmouseout"];
for (i in myEvent) {
my[myEvent[i]] = function() {
my.innerText = my.innerText == "sir" ? "그누보드" : "sir";
}
}
</script>
----------
가장 쉬운 건 배열이니까 포오브문을 사용하는 것입니다.
<span id=my style=cursor:pointer>sir</span>
<script>
myEvent = ["onclick", "onmouseover", "onmouseout"];
for (i of myEvent) {
my[i] = function() {
my.innerText = my.innerText == "sir" ? "그누보드" : "sir";
}
}
</script>
댓글 6개
감사합니다.
공부를 열심히 할게요..
자바스크립트 초보나 독학으로 하는경우에 공부할 분량이 많고 , 무엇을 해야할 지 잘 모를때가 많습니다.
그누보드에서 유용한 자바스크립트 코드를 공개해주셔서 많이 배웁니다.
자바스크립트 관련 팁 많이 공개해주세요.^^
이게 되면 중소 홈페이지의 적당수준의 개발은 그냥 식은죽 먹기입니다. 디자인이나 퍼블리싱 때문에 더 고생을 하지요.
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4400 | ||
| 2634 | 6개월 전 | 608 | ||
| 2633 | 6개월 전 | 598 | ||
| 2632 |
|
6개월 전 | 508 | |
| 2631 | 6개월 전 | 568 | ||
| 2630 |
세르반데스
|
6개월 전 | 537 | |
| 2629 | 6개월 전 | 725 | ||
| 2628 | 6개월 전 | 412 | ||
| 2627 | 6개월 전 | 416 | ||
| 2626 |
이슈DEV
|
6개월 전 | 636 | |
| 2625 |
welcome
|
6개월 전 | 645 | |
| 2624 |
이슈DEV
|
7개월 전 | 449 | |
| 2623 | 7개월 전 | 407 | ||
| 2622 | 7개월 전 | 496 | ||
| 2621 | 7개월 전 | 350 | ||
| 2620 |
|
7개월 전 | 368 | |
| 2619 | 7개월 전 | 476 | ||
| 2618 | 7개월 전 | 464 | ||
| 2617 | 7개월 전 | 554 | ||
| 2616 | 7개월 전 | 678 | ||
| 2615 | 7개월 전 | 581 | ||
| 2614 | 7개월 전 | 410 | ||
| 2613 |
바닐라코드
|
7개월 전 | 730 | |
| 2612 | 7개월 전 | 594 | ||
| 2611 | 7개월 전 | 730 | ||
| 2610 | 7개월 전 | 964 | ||
| 2609 | 7개월 전 | 508 | ||
| 2608 | 8개월 전 | 653 | ||
| 2607 | 8개월 전 | 630 | ||
| 2606 | 8개월 전 | 576 | ||
| 2605 | 8개월 전 | 601 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기