전체 글: 429개의 글

JavaScript - 이벤트

Posted by ironmask84
2015. 7. 28. 11:21 나는 프로그래머다!/HTML5


<!DOCTYPE html>
<html>
<body>
<input type="button" onclick="alert(window.location)" value="alert(window.href)" />
<input type="button" onclick="window.open('bom.html')" value="window.open('bom.html')" />
</body>
</html>


event target
->target은 이벤트가 일어날 객체를 의미한다.

event type
->이벤트의 종류를 의미한다.
   (
https://developer.mozilla.org/en-US/docs/Web/Reference/Events)

event handler
-> 이벤트가 발생했을 때 동작하는 코드를 의미한다. 
    위의 예제에서는 alert(window.location)이 여기에 해당한다.

출처 : https://opentutorials.org/module/904/6629


** 이벤트 등록방법

1. inline : 이벤트를 이벤트 대상의 태그 속성으로 지정하는 것이다.
<input type="button" onclick="alert('Hello world');" value="button" /> <input type="button" onclick="alert('Hello world, '+this.value);" value="button" />

2. property listener : 
이벤트 대상에 해당하는 객체의 프로퍼티로 이벤트를 등록하는 방식
event 객체에는 여러가지 정보가 담겨있다!!(console.dir(event); 확인)

<body>
<input type="button" id="target" value="button" />
<script>
var t = document.getElementById('target');
t.onclick = function(event){
alert('Hello world, '+event.target.value)
}
</script>

// I.E 8이하 버젼 호환을 위해서는 아래와 같이 추가 예외처리 필요

<input type="button" id="target" value="button" />
<script>
var t = document.getElementById('target');
t.onclick = function(event){
var event = event || window.event;
var target = event.target || event.srcElement;
alert('Hello world, '+target.value)
}
</script>


3. addEventListener() :
가장 권장하는 방식. 한 target에 여러 이벤트 등록 혹은 정의해 놓은 한 이벤트 핸들러를 여러 객체에 등록할 수 있다.


var t = document.getElementById('target');
if(t.addEventListener){
t.addEventListener('click', function(event){
alert('Hello world, '+event.target.value);
});
} else if(t.attachEvent){    // I.E 8이하 버젼의 호환을 위해..
t.attachEvent('onclick', function(event){
alert('Hello world, '+event.target.value);
})
}
// 한 target에 여러 이벤트를 등록
<input type="button" id="target" value="button" />
<script>
var t = document.getElementById('target');
t.addEventListener('click', function(event){
alert(1);
});
t.addEventListener('click', function(event){
alert(2);
});
</script
// 하나의 리스너로 여러 target에 적용
<input type="button" id="target1" value="button1" />
<input type="button" id="target2" value="button2" />
<script>
var t1 = document.getElementById('target1');
var t2 = document.getElementById('target2');
function btn_listener(event){
switch(event.target.id){
case 'target1':
alert(1);
break;
case 'target2':
alert(2);
break;
}
}
t1.addEventListener('click', btn_listener);
t2.addEventListener('click', btn_listener);
</script>

출처
https://opentutorials.org/module/904/6759
https://opentutorials.org/module/904/6760
https://opentutorials.org/module/904/6761

 

블로그 연혁

Posted by ironmask84
2015. 7. 23. 02:00 블로깅/블로그 연혁


2008년 8월말 블로그 개설

2008년 ~ 2009년 대학시절 마지막 정리 & 취업준비 용도로 블로그 이용

2010년 12월 ironmask84.net 으로 도메인 포워딩

2010년 ~ 2014년
회사 취업 후 회사업무, 취미, IT 관련 포스팅
블로그 카테고리 구체화
심혈을 기울인 스킨 선택
사이드바 소극적 이용
구글애드센스 시도와 실패
나눔고딕 적용!! (http://hangeul.naver.com/index.nhn  와 http://jeeni.tistory.com/3 참조)

(포스팅 때는 글씨체 선택이 안되는데 css파일에 url 혹은 블로그에 폰트파일업로드 해서 본문영역부분에 폰트를
 적용해서 포스트를 view 할때는 나눔고딕으로 보임..  그리고 view하는 기기에 나눔고딕이 설치되어있어야 함.)
 
2015년 7월 ironmask.net 으로 도메인 포워딩

2015년 6월부터!!
HTML5 + JavaScript + CSS 에 대한 업무지식이 필요해짐에 따라 다시 의욕 충천!
사이드바 깔끔정리
티스토리 플러그인 적용!! (그 동안 관심이 없었다니 ㅠㅠ..  상당히 유용하다..)
양질의 포스팅
취미의 다각화

2016년 
생각만큼 포스팅을 못하였으나...
나름 꾸준히 진행 중... 그래도 많이 초라함 ㅠㅠ
계획했던 포스팅들을 계속 이어갈 계획
처음 본? 결산 페이지 : http://www.tistory.com/thankyou/2016/tistory/182876

2017년
2월 18일 10만 조회 돌파!! (기념 초대장 배포 진행 ^^)
2월 20일 카테고리 대폭 정리
3월        카테고리 Jquery 적용 (미포스팅 카테고리 숨김)
6월        구글 애드센스, 애널리틱스 적용, 반응형 웹 스킨 적용(Fastboot 스킨)
7월        반응형 웹 스킨 적용 후 Customizing, Addthis 공유버튼 적용, 구글맞춤검색 적용(애드센스 하위메뉴)
8월        공감과 광고 유도 메세지 서식 적용, 티에디션 다시 적용, 광고 최적화 중,  RSS 부분공개, 저작권 관련 처리!!
             웹마스터 도구를 활용한 ironmask.net 활성화 진행 (사이트맵 등록, RSS 등록 포함)
10월       본문 내에 상단 및 하단 광고 조정, 메인페이지 광고 크기 조정, 본문 하단 광고 조정
             일치하는컨텐츠 광고 적용(광고옵션이 아직 안떠서, 광고활용은 못하고 있음... 정확한 조건이??..)
11월       포탈사이트 ZUM에 검색등록, 댓글 캐릭터 사진 카카오 프렌즈 적용
12월       일치하는컨텐츠 광고옵션 적용
2017년 결산 페이지 : http://www.tistory.com/thankyou/2017/tistory/182876

2018년
1월        15만 조회 돌파 기념 초대장 배포!!
4월        네이버이웃커넥터 코드를 ironmask.net으로 새로 받아서 이웃추가 배너로 새로 적용
9월        반응형 웹 스킨이긴 하지만, 글을 PC에서 쓰고 모바일로 보면 불편감이 크므로,
            이를 해결할 방법 모색하기 (접기 기능 등 활용 필요)
10월      웹페이지 속도가 느리다.. 이를 해결할 방법 모색
            스피드는 ( https://testmysite.withgoogle.com ) 참고

2019년
1월        30만 조회 돌파!!
2월        티스토리 자체 https 보안강화 패치로 인해 fastboot 스킨에 사이드메뉴 오류 발생 해결
             (https://sunstar2.tistory.com/1919 블로거님 참고함.)
6월        키워드 검색순위 방법 도입 (https://ironmask.net/482 참고)


---- 향 후 계획----
카테고리 정리
스킨 최적화(HTML + CSS)
프로그래밍, 맛집, 여행, 기타, IT Security


블로그 이미지
Write by ironmask
너희들은 이 세계의 미래를 책임지고 있는 희망과도 같은 존재다.

















'블로깅 > 블로그 연혁' 카테고리의 다른 글

2021년 블로그 방향 설정 및 고민  (0) 2021.01.31
 

홍콩&마카오 여행 첫 업뎃!

Posted by ironmask84
2015. 7. 23. 00:59 해외여행/홍콩&마카오 - 2013


여행 다녀온지 2년이 넘었지만, 이제서야 첫 업뎃 ㅠㅠ

이번 캄보디아 여행 준비하면서..

익스피디아 에서 숙소 예약한 것이 생각났다!!

이번 캄보디아 여행 숙소도 익스피디아로 할까 생각중!!

호텔은 홍콩 도심 중심이었는데, 정확한 위치는 가물가물.. 차차 다시 확인해보기로 하고,
지금 봐도 꽤 숙박료가 비싸네 ㅋㅋ 
그래도 꽤나 쾌적해던 걸로 기억함.

차차 업뎃하기로 하고 오늘은 숙소 정보 사진 한장 올림 :)



 

JavaScript에서의 객체와 객체지향

Posted by ironmask84
2015. 7. 22. 15:47 나는 프로그래머다!/HTML5


기본적으로 배열이 0,1,2 ... 와 같이 숫자를 인덱스로 해서 값을 담아내는 그릇이라고 하면,
JavaScript에서의 객체는 이 인덱스가 숫자도 가능하지만, 문자로도 가능한 점이 특징이다.

따라서, 타 프로그래밍 언어에서는 연관배열(associative array) 또는 맵( map), 딕셔너리(Dictionary)라는 데이터 타입이 객체에 해당한다.

ex)

var val1 = {};    // {}; 의 표현이 객체 생성이다.  []; 표현은 배열!

val1.val1 = 'ironmask';
val1.ironmask = 100;
val1['iromask2'] = 90;
==> Object {val1: "ironmask", ironmask: 100, ironmask2: 90}

==> val1['val1'] 은 "ironmask" 를 리턴
      val1['va'+'l1'] 과 같은 표현도 가능
      val.val1 과 같이도 사용 가능
===> 따라서, 'val1' 을 key라고 하고, 값을 value 로 부르는 경우가 많다.

한번에 값들을 정의하는 경우
// 이렇게 객체 내에 속성과 메소드를 그룹화해서 사용가능하므로, 이것이 JavaScript의 객체지향
var val1 = {
       'list' : {'ironmask' : 100, 'LG' : 90, 'Samsung' : 80}
      
'show' : function() {
                  alert("hello world");

        }

}

val1['show']();  // 함수는 이렇게 사용

* Tip 

for(var key in val1) {    // for in 문이라고 한다. (배열에서도 동일하게 사용 가능)
console.log(val1[key]);   // key를 순회하면서, key에 대응하는 값들을 찍어준다.
}

 

JavaScript의 함수!!

Posted by ironmask84
2015. 7. 21. 15:26 나는 프로그래머다!/HTML5


그 동안, C, JAVA가 주력 언어였고..
C++도 학부시절에 기본 A~Z 까지는 배웠기에,
어느정도 절차적, 객체지향에 대해 개념이 있다고 생각해왔습니다만..

이번에 HTML5 를 접하게 되면서, 학부 때 잠깐 접한 JavaScript를 공부 중인데,
아직 적응이 안되고 있는 중 임요....

기존 알고 지낸 프로그래밍 언어의 함수의 용도는 동일하나,
쓰임새가 너무 자유자재라..
정리를 위해 아래 몇몇 Case를 올립니다.
(출처 : https://opentutorials.org/module/532/6508  참조)

1. 변수 Case
1) function a(){}
2) a = {

b:function(){    <-- 객체내에('a'라는 객체) 있는 함수는 메소드라고 부른다.
}
};

2. 매개변수 Case

function cal(func, num){
return func(num)
}
function increase(num){
return num+1
}
function decrease(num){
return num-1
}
alert(cal(increase, 1));
alert(cal(decrease, 1));


3. 리턴 값 Case

function cal(mode){
var funcs = {
'plus' : function(left, right){return left + right},
'minus' : function(left, right){return left - right}
}
return funcs[mode];
}
alert(cal('plus')(2,1));
alert(cal('minus')(2,1));


4. 배열 Case

var process = [
function(input){ return input + 10;},
function(input){ return input * input;},
function(input){ return input / 2;}
];
var input = 1;
for(var i = 0; i < process.length; i++){
input = process[i](input);
}
alert(input);