我用我的当前项目都knockout.js和hammer.js。 我创建了一个自定义绑定处理程序中hammer.js的“抽头”事件(这也应该为其他活动,如持有或滑动工作)。 我的问题是,在这个结合处理,我想打电话给我在HTML中的数据绑定属性的方法。 根据淘汰赛文档时,我发现,我应该叫valueAccessor(),但遗憾的是,这并没有做任何事情。 我创建这个小提琴 ,这应该给你我的问题的一个明显的例子。 感谢你们对我的帮助。
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!");
}
});