웹 프로그래밍/JavaScript(15)
-
뒤로 가기로 올 경우 폼 초기화
$(window).bind("pageshow", function() { const form = $('form'); form[0].reset(); form[1].reset(); form[2].reset(); });
2023.03.29 -
GET 변경
// get 부분 주소 갖고오기 get_param = location.search var params = new URLSearchParams(get_param); // GET 특정 값 갖고오기 var get_value1 = params.get('get_key1'); // GET 특정 값 변경 params.set('get_key2', 'something special'); url = params.toString(); console.log(url);
2022.10.19 -
뒤로가기 직전 이벤트 2022.05.19
-
DOM 추가시, 이벤트 작동되게
//평소 클릭 이벤트 주는 방식. 자바스크립트 DOM으로 추가한 .btn 에겐 적용 안됨 $(".btn").on("click",function(){ }); //.btn에게 onclick이벤트까지 만들어주던가 //아래처럼 사용하면 적용됨 $(document).on("click", ".btn", function(){ });
2022.05.17 -
뒤로가기로 왔을 경우
//뒤로가기로 왔을 경우 페이지 새로고침 if (window.performance) { var navEntries = window.performance.getEntriesByType('navigation'); if (navEntries.length > 0 && navEntries[0].type === 'back_forward') { console.log('As per API lv2, this page is load from back/forward'); location.reload(); } else if (window.performance.navigation && window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FO..
2022.05.17 -
부모창 자식창간에 통신(크로스 도메인도 가능)
자식창 window.opener.postMessage({code:"parentcontrol"}, '*'); 부모창 const receiveMessage = function(e){ //메시지를 받았을 때 실행할 코드 if(e.data.code == "parentcontrol" && e.origin == "http://something.com"){ location.reload(); } } window.addEventListener("message", receiveMessage, false);
2022.04.19 -
clone
$('.복사할셀렉터').clone().removeClass('특정클래스제거').attr('id','아이디추가').appendTo( '.ul_list_02 .clear' ); 클론으로 복사한 경우 기존 자바스크립트 이벤트 트리거가 안먹힘. 태그에 onclick 이벤트를 달던가, 아래 코드블럭에 하단 처럼 이벤트를 주어야 함 jQuery(function($){ $( "#test" ).on( "click" , "#button", function() { $("#test ul").append("test" +$('li').length+ ""); }); $(li ).on( "click" , function() { alert($(this).text()); }); }); jQuery(function($){ $( "#te..
2021.11.01 -
자주쓰는 사용자정의 함수 및 정규식
천단위 콤마 찍기 function add_comma(num){ return num.toLocaleString('ko-KR'); } console.log( add_comma(-123456.789) ); // -123,456.789 숫자만 리턴 function to_number(str){ return str.replace(/[^0-9]/g,""); } console.log( to_number("1,234") ); //1234
2021.08.26 -
스크롤
스크롤 제일 위인지 확인 if( $('.special_div').scrollTop() == 0 ) 스크롤 제일 아래인지 확인 if( $('.special_div').scrollTop() == $('.special_div').prop('scrollHeight') - $('.special_div').innerHeight() ) 특정 ID 엘리먼트로 스크롤 이동 document.getElementById('x1').scrollIntoView({block:'start', behavior:'smooth'});
2021.08.26 -
DOM 접근
data-value 접근 $('input[data-name="name"]')
2021.08.18 -
input 접근
$('input').val(); $('select').val()
2021.08.18 -
HTTP -> HTTPS
if (document.location.protocol == 'http:') { document.location.href = document.location.href.replace('http:', 'https:'); }
2021.07.31 -
레이어 팝업 기본형태
Jquery 버전 팝업열기 JavaScript 버전 팝업열기
2021.07.31 -
ajax 기본 형태
$.ajax({ type: "post", async : false, url: "", data: { 'name1' : value, 'name2' : value2 }, contentType: "application/x-www-form-urlencoded; charset=UTF-8", success: function(result){ } });
2021.03.26 -
post 생성자 함수, 프로토타입 기반 상속
PHP DB에 따옴표( ' 또는 " ) 입력시 치환 $value = "들어갈 '값' 입력"; $value = addslashes($value); 페이지 $query = "SELECT count(1) AS total FROM post_requester WHERE status = 'O' "; $result = mysql_query($query); $total = mysql_fetch_assoc($result); $limit2 = 15; $total = ceil($total['total']/$limit2); $_REQUEST['page'] = $_GET['page'] ? $_GET['page'] : 1; /* 1~10, 11~20, 21~30 페이지 만들기 */ $page_list_start = ceil($_..
2020.09.15