Skip to content

Commit

Permalink
rc 프로젝트 전체 > 데스크탑 click 이벤트 적용 업데이트(1차)
Browse files Browse the repository at this point in the history
## 적용 대상 및 수정사항
1. control.js > push.js
- 기존 click 이벤트에 대해 null 값을 리턴한 것을 touchend 이벤트 발생했을 때와
같은 함수(touched) 로 바인딩해줌.

2. component.js> segmented-controllers.js
- 기존에 touchend 이벤트에 대해서만 기능적용되었던 부분을 click 이벤트시에도 적용될 수 있도록 bind 를 차가함.
- 기존 touchend 이벤트 바인딩에 사용한 함수를 별도 함수(activeSegment) 로 분리하여 추후 추가 이벤트와
바인딩을 고려함.

## 참고사항
- 본 이슈는 jquery.finger.js 기능과는 무관한 것이며 상기 수정된 플러그인(push & segment) 소스 자체가
모바일 only 기준으로 작성되었기 때문 click 이벤트에 대한 고려를 하지 않은 이유로 발생한 것으로 판단됨.
- 따라서, ratchet.js 플러그인 원본을 그대로 사용한 플러그인에 대해서는 향후 업데이트가 필요해보임.  toggle.js
가 이에 해당되는데 현재 정확한 작동원리 파악 중임.
2차 업데이트 때 수정할 예정임.
  • Loading branch information
kieregh committed May 23, 2016
1 parent b9ebce0 commit f3826e1
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 31 deletions.
63 changes: 33 additions & 30 deletions dist/js/rc-component.js
Original file line number Diff line number Diff line change
Expand Up @@ -1186,46 +1186,49 @@
}
};

window.addEventListener('touchend', function (e) {
var activeTab;
var activeBodies;
var targetBody;
var targetTab = getTarget(e.target);
var className = 'active';
var classSelector = '.' + className;

if (!targetTab) {
return;
}
var activeSegment=function(e){
e.preventDefault();
var activeTab;
var activeBodies;
var targetBody;
var targetTab = getTarget(e.target);
var className = 'active';
var classSelector = '.' + className;

activeTab = targetTab.parentNode.querySelector(classSelector);
if (!targetTab) {
return;
}

if (activeTab) {
activeTab.classList.remove(className);
}
activeTab = targetTab.parentNode.querySelector(classSelector);

targetTab.classList.add(className);
if (activeTab) {
activeTab.classList.remove(className);
}

if (!targetTab.hash) {
return;
}
targetTab.classList.add(className);

targetBody = document.querySelector(targetTab.hash);
if (!targetTab.hash) {
return;
}

if (!targetBody) {
return;
}
targetBody = document.querySelector(targetTab.hash);

activeBodies = targetBody.parentNode.querySelectorAll(classSelector);
if (!targetBody) {
return;
}

for (var i = 0; i < activeBodies.length; i++) {
activeBodies[i].classList.remove(className);
}
activeBodies = targetBody.parentNode.querySelectorAll(classSelector);

targetBody.classList.add(className);
});
for (var i = 0; i < activeBodies.length; i++) {
activeBodies[i].classList.remove(className);
}

targetBody.classList.add(className);
}

window.addEventListener('touchend', activeSegment);
window.addEventListener('click', activeSegment);

window.addEventListener('tap', function (e) { if (getTarget(e.target)) {e.preventDefault();} });
}());


Expand Down
2 changes: 1 addition & 1 deletion dist/js/rc-control.js
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@
window.addEventListener('touchstart', function () { isScrolling = false; });
window.addEventListener('touchmove', function () { isScrolling = true; });
window.addEventListener('touchend', touchend);
window.addEventListener('click', function (e) { if (getTarget(e)) {e.preventDefault();} });
window.addEventListener('click', touchend);
window.addEventListener('popstate', popstate);
window.PUSH = PUSH;

Expand Down

0 comments on commit f3826e1

Please sign in to comment.