我在我的应用程序中使用淘汰赛作为主要框架,它必须支持平板电脑和移动设备。由于该框架是建立在绑定处理程序上的,我想知道如何实现自定义绑定到动作(如滑动和其他设备特定的动作),或者可能有类似的事情完成?
问问题
3480 次
4 回答
7
可能为时已晚,但这里有一个为 knockoutjs 添加触摸绑定的库: https ://github.com/yaroslavya/knockouch
于 2013-04-07T10:17:39.540 回答
1
创建一个
bindingHandler
. 这是一个真实项目的例子ko.bindingHandlers.swipeSections = { init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) { var elem = $(element); var params = valueAccessor().split('##'); elem.unbind('swipe'); elem.swipe({ swipeLeft: function (event, direction, distance, duration, fingerCount) { //process }, swipeRight: function (event, direction, distance, duration, fingerCount) { //process } }); }
};
使用滑动库:https ://github.com/mattbryson/TouchSwipe-Jquery-Plugin
script type="text/javascript" src="scripts/jquery.touchSwipe.js"
定义项目的绑定
div id="myid" class="section" data-bind="swipeSections: 'leftPanel##rightPanel'"
于 2013-05-07T19:02:00.687 回答
0
我不知道它是否仍然有帮助,但这里有一个指针。
- 使用像 Hammer.js 这样的库来获得多点触控操作。
- 编写自定义绑定处理程序并调用淘汰赛的默认事件绑定。像这样的刷卡。(小提琴的作者使用tap.js)
http://jsfiddle.net/snaptopixel/spByj/
现在你在你的 html 中所做的就是
<button data-bind="tap:doSomething">Click Me</button>
其中 doSomething 是一个函数。
于 2012-11-19T13:44:59.910 回答
0
没有针对特定框架的内置绑定,因为 knockout.js 不依赖于任何其他框架。将您的 jQuery 选择器代码转换为引用 @niko 上面提供的链接的绑定处理程序应该是一项微不足道的任务。
于 2012-06-26T14:02:40.720 回答