본문 바로가기

반응형

Javascript

(11)
🛑Uncaught ReferenceError: getEventListeners is not defined 에러내용"Uncaught ReferenceError: getEventListeners is not defined"getEventListeners()라는 메소드가 없어서 발생하는 에러 element에 등록된 이벤트 확인 로직을 검색 하던중 해당 구문을 사용하는 소스코드에서 에러가 나서 찾아보니 getEventListener() 메소드는 크롬 개발자 도구에 내장된 콘솔창 전용 api일 뿐, 자바스크립트 표준 메소드가 아니기 때문에 발생하는 에러입니다. 직접적으로 이벤트 바인딩을 확인할 수 있는 자바스크립트 표준 메소드는 존재하지 않기 때문에 별도의 클래스를 이용해 체크하면 됩니다.
[jQuery] 스크롤 끝 이벤트 알아내기 브라우저창 스크롤 끝 이벤트 $(window).scroll(function () { if ($(window).scrollTop() == ($(document).height() - $(window).height())) { console.log('window scroll End!!'); } }) DIV 스크롤 끝 이벤트 $('#wrap').scroll(function () {var el = $(this); if((el[0].scrollHeight - el.scrollTop()) == el.outerHeight()) {console.log('wrap scroll End!!'); }})
[Javascript] Object 프로퍼티 체크 자바스크립트에서 Object에 for ... in 문법을 사용하면 해당하는 오브젝트의 프로토타입에 프로퍼티도 키 값에 넘어와 오류가 발생하는 경우가 있다. 현재 Object에 있는 Property인지 구분하는 방법은 hasOwnProperty를 사용하면 된다. 예시 Array.prototype.divide = function() { }; var obj = [{ TITLE: 'TEST' }]; for(k in obj) {console.log(k, obj.hasOwnProperty(k));} 결과 /* 키 hasOwnProperty> '0' true 키 값에 인덱스가 넘어옴> 'divide' false*/
[Javascript]빈 Object 체크 자바스크립트에서 Object가 비어있는지 체크할 때는 Object.getOwnPropertyNames()를 사용하면 된다. Object.getOwnPropertyNames(obj).length === 0; 예시 var obj = {}; Object.getOwnPropertyNames(obj).length === 0; // true obj = { 'not': 'empty }; Object.getOwnPropertyNames(obj).length === 0; // false
문자를 유니코드로 변환하기 1. 문자열 -> Unicodevar a = 'ㄱ'.charCodeAt(0); // strObj. charCodeAt(index); // 출력: a = 12593 매개 변수 strObj 필수 사항 임의의 String 개체 또는 문자열 리터럴입니다. index 필수 사항 원하는 문자의 0부터 시작하는 인덱스입니다.지정된 인덱스에 문자가 없으면 NaN이 반환됩니다. 2. Unicode -> 문자열 var b = String.fromCharCode(12593) // 출력: b = "ㄱ" // String.fromCharCode([code1[, code2[, ...[, codeN]]]]) 매개 변수 String 필수 사항 String 개체입니다. code1, . . . , codeN 선택 사항입니다. 문자열로 ..
window.print() 호출 이전/이후 이벤트 처리 1. onbeforeprint, onafterprint 이벤트 핸들러프린트가 요청될 때 IE와 Edge 그리고 Firefox(> 5)에서는 onbeforeprint, onafterprint 이벤트를 발생시킵니다.이 이벤트를 처리할 이벤트 핸들러를 구현하여 프린트 전/후에 대한 처리를 할 수 있습니다. window.onbeforeprint = function() { console.log('프린트 전 호출'); }; window.onafterprint = function() { console.log('프린트 후 호출'); }; IE와 Edge 그리고 Firefox에서는 onbeforeprint와 onafterprint 이벤트 핸들러를 이용하면 되지만 크롬과 사파리, 오페라등 타 브라우저에선 이 이벤트 핸들러..
[Javascript]주차를 가져오자 fullcalendar를 사용하면서 필요했던 조회하고 있는 주차가 그달의 몇주차인지 계산해주는 함수입니다. 주차를 계산할 때에 기준은 목요일을 기준으로 계산하며 그 주에 목요일이 없는 경우에는 무조건 -1이 넘어오고 type이 'f'이면 첫째주 여부를 'l'이면 마지막주 여부를 Boolean 형으로 리턴해주며 type이 null or undefined일 경우에는 몇 주차인지 return해 줍니다. 중간중간 지인의 javascript 라이브러리인 라온이 활용된 부분이 있습니다. 소스코드 Date.prototype.getBizWeekOfMonth(type){ var d = new Date(this.getTime()); var d_first = new Date(this.getTime()); var d_last..
[Javascript]Array를 n개씩 나누기 1차원 배열을 원하는 길이만큼 2차원 배열로 변환시켜주는 함수입니다. 1. 프로토타입 - Array.division(n) Array.prototype.division = function (n) { var arr = this var len = arr.length var cnt = Math.floor(len / n) + (Math.floor(len % n) > 0 ? 1 : 0) var tmp = []; for (var i = 0; i < cnt; i++) { tmp.push(arr.splice(0, n)) } return tmp } 사용 예시 const arr = [0, 1, 2, 3, 4, 5, 6] const res = a.division(3) // [[0,1,2], [3,4,5], [6]]

반응형