YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > Javascript
검색
멤버이름    오토
비밀번호 
 

데이터 복사/잘라내기/붙여넣기

페이지 정보

작성자 MintState 댓글 0건 조회 9,260회 작성일 08-11-10 11:45

본문

데이터 복사/잘라내기/붙여넣기

<HTML>
<HEAD>
<TITLE>데이터 복사/잘라내기/붙여넣기</TITLE>
<LINK href = "" rel = "stylesheet" type = "text/css" />
<META http-equiv = "Content-Type" content = "text/html;charset=utf-8" />
<SCRIPT>
<!--
/**
 * 현재 선택되어 있는 데이터를 추출
 * 
 * @return 선택되어 있는 데이터
 */
function getSelectedText()
{
	if( document.selection )
	{
		var selection = document.selection.createRange();
		return selection.text;
	}
	else
	{
		return "";
	}
}

/**
 * 지정한 text 를 선택 부분에 붙여넣기
 *
 * @param text 붙여넣길 할 데이터
 */
function insertText( text )
{
	if( document.selection )
	{
		var selection = document.selection.createRange();
		selection.text = text;
	}
}

/**
 * 클립보드에 지정 text 복사
 * 
 * @param text 클립보드에 복사할 텍스트
 */
function setClipBoard(text)
{ 
	if (window.clipboardData) 
		window.clipboardData.setData("Text", text); 

	return false; 
} 

/**
 * 클립보드의 내용을 리턴
 * 
 * @return 클립보드 내용
 */
function getClipBoard()
{ 
	if( window.clipboardData )
		return window.clipboardData.getData('Text');
	else
		return "";
}

/**
 * 잘라내기
 *
 * @param name 잘라내기 대상 폼
 */
function cut( name )
{
	// 포커스 체크
	if( !focusCheck( name ) )
		return false;

    if( document.selection )
	{
		var selection = document.selection.createRange();

		// 선택 데이터 클립보드로 복사
		setClipBoard( selection.text );

		// 선택 데이터 삭제
		selection.text = "";
    }

	window.status = "잘라내기 완료.";

	return false;
}

/**
 * 복사
 *
 * @param name 복사 대상 폼
 */
function copy( name )
{
	// 포커스 체크
	if( !focusCheck( name ) )
		return false;

	// 현재 블록 처리된 내용을 읽어옴
	var text = getSelectedText();

	// 클립보드에 복사
	setClipBoard( text );

	window.status = "복사 완료.";

	return false;
}

/**
 * 붙여넣기
 *
 * @param name 붙여넣기 대상 폼
 */
function paste( name )
{
	// 포커스 체크
	if( !focusCheck( name ) )
		return false;

	// 클리보드 내용 추출
	var text = getClipBoard();

	insertText( text );

	window.status = "붙여넣기 완료.";

	return false;
}

/**
 * 현재 포커스 개체와 지정 개체와 동일할 경우 true
 * 
 * @param name 비교 개체명
 * @return 개체 동일 여부
 */
function focusCheck( name )
{
	// 현재 포커스 되어있는 개체 추출
	var obj = document.activeElement; 
	
	/**
	 * 현재 포커스 되어진 객체와
	 * 수행 대상 객체가 같을 경우에 수행
	 */
	if( name == obj.name )
		return true;
	else
		return false;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<TEXTAREA name = "test" rows = "10" cols = "50">
textarea에 텍스트를 복사 잘라내기 붙여넣기 할 버튼을 만들고 자 합니다.

textarea안에 특정 글을 쓰고 선택을 하고 복사 버튼을 클릭하면 복사 되고 붙여넣기 버튼을 클릭하면 복사한 글이 붙여 넣기가 되는 ...

조언을 부탁합니다.
</TEXTAREA>
<BR/>
<A href = "#" onMouseDown = "return copy('test');">복사</A>
<A href = "#" onMouseDown = "return cut('test')">잘라내기</A>
<A href = "#" onMouseDown = "return paste('test')">붙여넣기</A>
<P>&nbsp;</P>
<TEXTAREA name = "test1" rows = "10" cols = "50">
'나의 사랑 – 나의 직장'

위에 글을 그대로 복사에서 메모장에 붙여 넣기 하면 그대로 보이는데

에디트플러스에 붙여넣기 하면 

'나의사랑 ? 나의 직장'  

이렇게 변합니다.

중간에 ' – '  이게 도대체 뭘까요? --;
</TEXTAREA>
<BR/>
<A href = "#" onMouseDown = "return copy('test1');">복사</A>
<A href = "#" onMouseDown = "return cut('test1')">잘라내기</A>
<A href = "#" onMouseDown = "return paste('test1')">붙여넣기</A>
<P>&nbsp;</P>
</BODY>
</HTML>

댓글목록

등록된 댓글이 없습니다.

Total 178건 7 페이지
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2021, YesYo.com MintState. ™