Category Archives: JavaScript

jQuery 로 textarea를 참조할 때 text() 함수의 함정에 대해…

By | 10월 14, 2019

최초 textarea 에 jQuery로 값을 셋팅할 때, $textarea.text(‘AAA’); 의 형태로 값이 잘 셋팅되었기 때문에, 값을 불러올 때도 $textarea.text(); 함수를 사용했는데, 아무리 해도 사용자가 편집한 값을 얻어오지 못하고, 초기에 셋팅한 값만 얻어오는 것이었다. 그래서 삽질을 좀 하다가…   <input /> 처림 .val() 함수를 사용하여 사용자가 편집한 최종 결과 문자열을 얻을 수 있었다.      

[펌글] 라이브러리 다운로드를 위한 npm install 명령시 "Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE" 가 발생할 경우

By | 3월 27, 2017

– 출처: http://stackoverflow.com/questions/17200391/nodejs-unable-to-verify-leaf-signature –   npm 콘솔을 열고 아래 명령을 실행한다.   npm config set strict-ssl false   답변을 단 사람은 이게 정공법이 아니기 때문에 강력추천 하지는 않는다고 하지만… 나야 뭐 잘 되면 장땡이니~ ^ㅁ^           

[펌글] javascript 를 사용하여 json 을 이쁘게 출력하기 (beautifier, formatter)

By | 3월 2, 2017

– 출처: http://stackoverflow.com/questions/2614862/how-can-i-beautify-json-programmatically –   JSON.stringify(jsObj, null, “\t”); // stringify with tabs inserted at each level JSON.stringify(jsObj, null, 4); // stringify with 4 spaces at each level   JSON.stringify(jsObj, null, 4);          => 요거 쓰니 괜찮더라 ^ㅁ^    

[펌글] javascript window.open() 으로 팝업 호출시 팝업이 화면의 중앙에 뜨도록(screen center align) 하는 방법 (듀얼모니터 고려)

By | 2월 28, 2017

아직 완전히 검증한 것은 아니고 그냥 코드만 퍼 옴. – 출처: http://stackoverflow.com/questions/4068373/center-a-popup-window-on-screen –    function PopupCenter(url, title, w, h) { // Fixes dual-screen position Most browsers Firefox var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ?… Read More »

AngularJS 1.x 에 대한 메모

By | 6월 18, 2015

  * 하위 module을 갖고 있는 module에서 config와 run의 실행 시점 (1) 하위 의존성 module들의 config 콜백 실행 (2) 의존성 module들의 config 실행이 모두 완료된 후, 상위 module의 config 콜백 실행 (3) 하위 의존성  module의 run 콜백 실행 (4) 의존성 module들의 run 실행이 모두 완료된 후, 상위 module의 run콜백 실행   * constant와 value의 차이점 – 거의… Read More »

node.js 로 간단한 정적 자원(static resources)용 웹서버(web server) 만들기

By | 6월 11, 2015

* 환경 node.js v0.12.4   1. node.js 커맨드창에서 아래의 명령 실행 npm install connect static-server   2. 웹서버 런칭 js파일 작성 (server.js) var connect = require(‘connect’); var serveStatic = require(‘serve-static’); var port = 5000; connect().use( serveStatic(‘C:/nodejsweb’) //document root로 사용할 물리 경로 ).listen(port); console.log(“Static file server running at\n => http://localhost:” + port + “/\nCTRL + C… Read More »

jsonp 관련

By | 3월 31, 2015

* jQuery ajax 로 jsonp 요청시 크롬 개발자도구 상태 Content-type 없음 Accept는 */* 이 됨 network 탭에서 xhr이 아닌 script로 조회됨. method type에 관계 없이 get 요청이 됨.    

jQuery ajax 로 파라미터를 전달할 때 사용하는 $.param() 함수의 이상동작에 대하여

By | 2월 23, 2015

javascript object를 query string으로 변환해 주는 jQuery의 $.param() 함수 사용중, 값이 배열인 데이터를 query string으로 변환할 때 파라미터명 뒤에 “[]” 문자열이 붙는 현상이 있었다. 이 때, $.param() 함수의 두 번째 인수로 true 값을 주니 이 현상을 해결할 수 있었다. (ex:  var qryStr = $.param(jsonObj, true); )  

javascript 정규식 치환 (replace()) 함수의 두 번째 인수로 function을 넣어서 escapeHtml() 함수 작성하는 예제

By | 10월 23, 2014

– 출처: http://stackoverflow.com/questions/24816/escaping-html-strings-with-jquery –   javascript replace() 함수의 두 번째 인수로 함수를 넣을 수 있다는 것을 처음 알았다. ^ㅁ^;   var entityMap = { “&”: “&amp;”, “<“: “&lt;”, “>”: “&gt;”, ‘”‘: ‘&quot;’, “‘”: ”’, “/”: ‘/’ }; function escapeHtml(string) { return String(string).replace(/[&<>”‘\/]/g, function (s) { return entityMap[s]; }); }      

jQuery Deffered 에 관한 개념 정리

By | 10월 21, 2014

      * Promise 객체 – Promise 객체는 $o.promise()로 생성하거나 $.when()의 인수로 넣어질 경우 생성된다. – Promise 객체가 되면 객체에서 일어나는 일들을 모니터링하여, 이벤트가 종료되면 done()을 호출한다. (ex: fadeOut())                                                  

jQuery에서 엘리먼트에 바인딩된 이벤트 조회하기

By | 8월 8, 2014

    //이벤트 조회(추출) var events = $._data($(‘#div1’)[0], ‘events’);   //바인딩된 이벤트 해제하기 $(‘#div1’).unbind(‘click’); //click 이벤트 해제     * 참고 jQuery를 사용하여 이벤트를 조회하는 것이나, 아니면 이벤트를 해제하는 것이나, 모두 jQuery를 통하여 바인딩된 이벤트만 조회/해제할 수가 있다. html 코드에 직접 등록한 이벤트의 경우에는 조회도 해제도 불가한 것으로 보인다. 그렇기 때문에 이벤트를 바인딩할 때는 나중을… Read More »

jqGrid의 페이징 기능 사용시, jqGrid의 기본 페이징 파라미터명과 서버의 페이징 파라미터 명이 다를 경우, 서버쪽 페이징 파라미터명을 jqGrid가 맞춰줄 수 있도록 하는 설정

By | 8월 8, 2014

  var P_PAGE = ‘pageNo’; //페이지번호 파라미터명 var P_TOTALCNT = ‘totRows’; //전체 조회 건수 파라미터명 var P_ROWSPERPAGE = ‘fetchRows’; //rowsPerPage 파라미터명 var P_TOTALPAGE = ‘totalPage’;     //jqGrid 기본 설정 $.extend($.jgrid.defaults, {   prmNames: { page: P_PAGE, rows: P_ROWSPERPAGE, totalrows: P_TOTALCNT },   jsonReader: { root: ‘data’,  //응답객체 이름 page: P_PAGE, total: P_TOTALPAGE, records: P_TOTALCNT,… Read More »

jQuery UI dialog 를 닫을 때, cannot call methods on dialog prior to initialization; attempted to call method 'close 에러가 발생하는 경우

By | 7월 8, 2014

이 케이스에 대해서 인터넷에 여러가지 말들이 많이 있지만, 내 경우에는,  이미 기존 페이지에 include 되어 있던 javascript 라이브러리 들이, Dialog를 띄우면서 또 한 번 같은 document 내에 로딩되면서, Dialog를 생성했던 javascript context가 사라져 버린 경우였었다.   결국 dialog 내에 로딩되는 페이지에서 javascript 라이브러리가 include 되는 부분을 모두 제거했더니, Dialog도 잘 닫히고, 아무 문제가 없었다.  … Read More »

[책펌] 센차터치(Sencha Touch)에서 간단한 박스 레이아웃 구성하는 예제

By | 3월 6, 2014

  – 출처: 센차터치2+폰갭 프로그래밍 –   * 코드 Ext.application({ requires: [‘Ext.Panel’], launch: function(){ var panel = new Ext.create(‘Ext.Panel’, { fullscreen: true, layout: { type: ‘vbox’, //세로로 배열하는 레이아웃 align: ‘stretch’ //꽉 차게 늘여서 맞춘다 }, items: [ { flex: 1, //flex 값은, 같은 위상의 컴포넌트들끼리 화면을 점유하는 상대적인 비율을 의미하는 값이다. style: ‘background-color:red; font-size:… Read More »

[책펌] 센차터치(Sencha Touch)에서 뷰(view)파일 정의하고 로딩하는 예제

By | 3월 6, 2014

– 출처: 센차터치2+폰갭 프로그래밍 –   * 어플리케이션 파일 (app.js) Ext.application({ name: ‘HelloSenchaTouch’, requires: [], //아래와 같이 view 항목에 클래스명만 넣을 경우, app.view 패키지에 HelloView.js 파일이 들어있다는 전제가 요구됨. //별도의 패키지에 파일이 존재할 경우 FQN(Full Qualified Name)을 넣어야 함. views: [‘HelloView’], launch: function(){ Ext.Viewport.add(Ext.create(‘HelloSenchaTouch.view.HelloView’)); } });   * 뷰(view) 파일 (app/view/HelloView.js) Ext.define(‘HelloSenchaTouch.view.HelloView’, { extend: ‘Ext.Panel’,… Read More »

[책펌] 센차터치(Sencha Touch)에서 컨테이너에 컴포넌트를 삽입하는 두 가지 방법

By | 3월 6, 2014

– 출처: 센차터치2+폰갭 프로그래밍 –   * Container의 items속성을 사용하여 Component를 삽입 Ext.application({ name: ‘Sencha’, requires: [‘Ext.Panel’], launch: function(){ Ext.create(‘Ext.Panel’, { fullscreen: true, html: [‘I am Container’].join(” “), items: [{ //컴포넌트 삽입 xtype: ‘panel’, style: ‘background-color:white’, html: [‘I am Component<br> I am added’].join(‘ ‘) }] }); } });   * Component를 별도로 생성 후 Container에… Read More »