웹페이지내에 엘리먼트에 대해서 이벤트를 핸들링할 경우에는 Bind()를 사용하면 된다.

하지만 동적으로 생성된 엘리먼트에 대해서 이벤트를 핸들링할 경우에는 Live()를 사용하면 된다.

기본적으로 Live()의 사용방식은 Bind()와 동일하다.

$("input").live( "click", function(){

alert ( $(this).val() );

});

 
위 이벤트는 동적으로 생성된 input에 대해서 이벤트 핸들링이 가능하는다는 점이 Bind()와 차이점이 되겠다.

Live()를 이벤트 핸들링을 제거할 경우 die()를 사용하면 핸들러를 제거할 수 있다. 


 

'프로그래밍 > jQuery' 카테고리의 다른 글

[jQuery] each()  (0) 2012.05.10
[jQuery] attr()  (0) 2012.04.25
[jQuery] jQuery.each() vs .each()  (1) 2012.04.24
[jQuery] One()  (0) 2012.03.30
[jQuery] Bind()  (0) 2012.03.21


jQuery를 사용하여 엘리먼트에 이벤트를 적용시켜려면 Bind() 함수를 활용하면 된다.

먼저, 간단한 예를 보면 아래와 같다.

$('input').bind( 'click' , function(event) {

              alert('Hello!!');
}); 


위 이벤트는 " 모든 input 엘리먼트에 click 이벤트 핸들러로 인라인 함수를 바인딩한다. " 라고 정의 한 것이다.

이러한 bind() 함수는 한 엘리먼트에 대해서 이벤트를 여러개 사용할 경우에도 활용할 수 있다.
(ex : 클릭시에는 팝업, 마우스오버는 백그라운드 색상변경 )

물론 자바스크립트를 활용하여 해당 이벤트를 계속적으로 작성할수 있지만,

jQuery의 bind()를 활용하면 보다, 쉽게 작성할 수 있다.


$('SELECTER').bind( {

            click : function(event) { click 이벤트 처리 },
            mouseover : function(event) { mouseover 이벤트 처리 }
});


위와 같이 여러 이벤트를 생성하지만 하나의 이벤트 처리를 하고 싶은 경우는 아래와 같이 사용하면 된다.


$('SELECTER').bind( { 'click  mouseover ' , function(event) {

              alert('Hello!!');

});

여기서 주의할점은 위와 같이 다중 이벤트를 선언할 경우, 공백으로 구분된다는 점이다. 



'프로그래밍 > jQuery' 카테고리의 다른 글

[jQuery] each()  (0) 2012.05.10
[jQuery] attr()  (0) 2012.04.25
[jQuery] jQuery.each() vs .each()  (1) 2012.04.24
[jQuery] One()  (0) 2012.03.30
[jQuery] Live()  (0) 2012.03.26


초기화 블럭
 - 클래스 초기화 블럭, 인스턴스 초기화 블럭으로 나뉘며, 각각의 변수의 초기화에 사용된다.

※ 클래스 초기화 블럭 - 클래스변수를 초기화할때 사용한다.
※ 인스턴스 초기화 블럭 - 인스턴스 변수를 초기화할때 사용한다.

생성자보다 인스턴스 초기화 블럭이 먼저 수행됨.


인스턴스 초기화 블럭 - {}를 사용하여 인스턴스 변수를 초기화 한다.
  ex) {  초기화 내용  }

클래스 초기화 블럭 - static{} 를 사용하여 클래스 변수를 초기화 한다.
  ex) static { 초기화 내용 }

'프로그래밍 > Java' 카테고리의 다른 글

[Java] Sub Class의 필요성  (0) 2012.10.03
[Java] 천단위 콤마 추가, 제거  (0) 2012.07.26
[Eclipse] 이클립스 플러그인 제거  (0) 2011.09.22
URI vs URL  (0) 2011.09.05
[Java] Scanner  (0) 2011.06.05


Help -> Install New Software



already installed? 클릭



Uninstall을 통한 플러그인 제거





'프로그래밍 > Java' 카테고리의 다른 글

[Java] 천단위 콤마 추가, 제거  (0) 2012.07.26
[Java] 초기화 블럭 ( initialization block )  (0) 2012.03.02
URI vs URL  (0) 2011.09.05
[Java] Scanner  (0) 2011.06.05
[Java] 인스턴스 변수 와 지역변수의 차이점  (0) 2011.02.28


URI : uniform resource identifier

URL : uniform resource locator ( location is network )


URI is only for identifying the resource
URL is locating / Finding the resource

URI ( 초집합 : Superset )
URL ( 부분집합 : Subset )






문제
 
1. input n
2. print n
3. if n = 1 then STOP
4.    if n is odd then n <- 3n + 1
5.    else n <- n/2
6.  GOTO 2

위와 같은 알고리즘을 구현하여 22를 입력하면 아래와 같은 결과가 출력이 된다.

22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

이 알고리즘은 1이 출력이 될때 프로그램이 종료된다고 볼 수 있다.

n이 입력되면, 1을 포함한 출력된 숫자들을 확인할 수 있다.
이 숫자들의 나열들의 총합은 n의 cycle-length라고 한다.
위의 예를 보면, 22의 cycle-length는 16이다.

 
두개의 정수값을 입력하였을때, 두수를 포함한 두수 사이의 값들에 대해서 최고의 cycle-length값을 출력하는 알고리즘을 작성하시오.

단, 입력은 0 < n < 10000로 제한한다.

입력 : 두 정수를 입력받는다.
예) 400 500


출력 : 입력받은 두 정수와 최고의 cycle-length값을 출력한다. 
예) 400 500 142




Scanner를 이용한 간단한 입력 예제


import java.util.Scanner;

public class {

public static void main(String args[]){
Scanner scan = new Scanner(System.in);

String str = scan.nextLine();
int i = scan.nextInt();
Long l = scan.nextLong();


}
}

위와 같이 입력을 받을때 선언된 기본형과 같은 next를 선언하여 사용해야된다.

단, String의 경우 nextLine() 또는 next()를 사용한다.

또한 byte, short, int, long, float, double의 경우 nextOO(int radix)를 호출할때 매개변수로

진수를 지정하여 입력받을 수 있다.

 



인스턴스 변


● 클래스 내에서 선언됩니다. 메소드 내에서 선언되는 것이 아닙니다.


class horse{

             private double height = 15.2;

             private String breed;

             //나머지 코드...

}
 



지역변수



● 지역변수(local variable)는 메소드 내에서 선언됩니다.

class AddThing{

               int a;

               int b = 12;

      

               public int add() {

                      int total = a + b;

                      return total;

               }



 

● 단, 지역변수는 사용하기 전에 반드시 초기화해야 합니다.

class Foo{

    public void go() {

            int x;

            int z = x + 3; //초기화 하지 않았으므로 컴파일이 되지 않습니다.

     }

}
 

지역변수에는 기본값이 없습니다. 따라서 지역 변수를 초기화하기 전에 사용하려고 하면 컴파일 과정에서 오류가 납니다.

Overloading

1. 현재 클래스 또는 현재 클래스를 상속받은 클래스 ( same class or SubClass )
2. 같은 함수명을 가진다.
3. 하지만 매개변수 목록이 다르다.
4. 리턴타입이 같을수도 있고, 다를 수도 있다.



Overriding

1. 현재 클래스를 상속받은 클래스 ( SubClass )
2. 함수의 이름은 동일하다.
3. 매개변수 목록 또한 동일하다.
4. 리턴타입 또한 동일하다.
5.1 public으로 선언한 경우 Overriding 함수도 public으로 선언한다.
5.2 protected으로 선언한 경우 Overriding 함수는 protected 또는 public으로 선언한다.
5.3 private으로 선언한 함수는 함수를 상속받을 수 없다.




이클립스에서 파일을 작성하게 되면 기본적으로 MS949로 인코딩하게 되어있다.

하지만 나중을 위해서라면 인코딩을 UTF-8로 설정하고 작업하는 편이 좋다.

설정 방법 
Window -> Preferences -> General -> Workspace



위 그림과 같이 Text file encoding 부분을 UTF-8로 바꾸면 된다.