이벤트와 일부 매개 변수를 전달하는 eventHandler를 만들고 싶습니다. 문제는 함수가 요소를 얻지 못한다는 것입니다. 다음은 그 예입니다.
doClick = function(func){
var elem = .. // the element where it is all about
elem.onclick = function(e){
func(e, elem);
}
}
doClick(function(e, element){
// do stuff with element and the event
});
'elem'은 익명 함수 외부에서 정의되어야합니다. 전달 된 요소를 익명 함수 내에서 사용하려면 어떻게해야합니까? 이를 수행하는 방법이 있습니까?
그리고 addEventListener는 어떻습니까? addEventListener를 통해 이벤트를 전달할 수없는 것 같습니다.
최신 정보
나는 'this'로 문제를 해결하는 것 같았다
doClick = function(func){
var that = this;
this.element.onclick = function(e){
func(e, that);
}
}
여기에 함수에서 액세스 할 수있는 this.element가 포함되어 있습니다.
addEventListener
하지만 addEventListener에 대해 궁금합니다.
function doClick(elem, func){
element.addEventListener('click', func(event, elem), false);
}