0
현재 프로젝트에서 knockout.js와 hammer.js를 모두 사용하고 있습니다. hammer.js에서 'tap'이벤트에 대한 사용자 정의 바인딩 핸들러를 만들었습니다 (이 작업은 홀드 또는 스 와이프와 같은 다른 이벤트에서도 작동해야 함). 내 문제는이 바인딩 처리기에서 HTML의 데이터 바인딩 특성에서 제공하는 메서드를 호출하려고합니다. 녹아웃 문서에 따르면, 나는 valueAccessor()를 호출해야한다는 것을 알았지 만 불행히도 이것은 아무 것도하지 않는다. 내가 만든 this Fiddle, 내 문제의 명확한 예제를 제공해야합니다. 도와 주셔서 감사합니다.Knockout 사용자 정의 바인딩 핸들러에서 HTML로 제공된 메소드 호출
HTML :
<button data-bind="tap: myFunction">Click Me</button>
JS :
ko.bindingHandlers.tap = {
'init': function(element, valueAccessor) {
var tap = new Hammer(element);
tap.ontap = function(ev){
//call the method provided in HTML, in this case doSomething();
// I've tried calling valueAccessor(); but this doesn't seem to work
};
}
}
ko.applyBindings({
myFunction: function() {
document.write("BAM!");
}
});
+1 완벽, 감사합니다! –