我在我的应用程序中使用knockout作为主框架,它必须支持平板电脑和移动的设备。由于框架是建立在绑定处理程序上的,我想知道如何实现对操作(如滑动和其他特定设备的操作)的自定义绑定,或者可能有类似的操作?
dpiehjr41#
可能太晚了,但这里有一个库,它为knockoutjs添加了触摸绑定:https://github.com/yaroslavya/knockouch
vsdwdz232#
1.创建一个bindingHandler。下面是一个真实的项目的示例
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 } }); }
};1.使用扫动资料库:https://github.com/mattbryson/TouchSwipe-Jquery-Plugin
script type="text/javascript" src="scripts/jquery.touchSwipe.js"
1.定义项目的系结
div id="myid" class="section" data-bind="swipeSections: 'leftPanel##rightPanel'"
piok6c0g3#
由于knockout.js不依赖于任何其他框架,因此没有针对特定框架的内置绑定。将jQuery选择器代码转换为绑定处理程序(引用上面提供的link @niko)应该是一项简单的任务。
vhmi4jdf4#
我不知道它是否仍然有帮助,但这里有一个指针。1.使用像Hammer.js这样的库来获取多点触控操作。1.编写一个自定义绑定处理程序并调用knockout的默认事件绑定。对于swipe,类似如下。(fiddle的作者使用tap.js)http://jsfiddle.net/snaptopixel/spByj/现在你在html中所做的就是
<button data-bind="tap:doSomething">Click Me</button>
其中doSomething是一个函数。
4条答案
按热度按时间dpiehjr41#
可能太晚了,但这里有一个库,它为knockoutjs添加了触摸绑定:https://github.com/yaroslavya/knockouch
vsdwdz232#
1.创建一个
bindingHandler
。下面是一个真实的项目的示例};
1.使用扫动资料库:https://github.com/mattbryson/TouchSwipe-Jquery-Plugin
1.定义项目的系结
piok6c0g3#
由于knockout.js不依赖于任何其他框架,因此没有针对特定框架的内置绑定。将jQuery选择器代码转换为绑定处理程序(引用上面提供的link @niko)应该是一项简单的任务。
vhmi4jdf4#
我不知道它是否仍然有帮助,但这里有一个指针。
1.使用像Hammer.js这样的库来获取多点触控操作。
1.编写一个自定义绑定处理程序并调用knockout的默认事件绑定。对于swipe,类似如下。(fiddle的作者使用tap.js)
http://jsfiddle.net/snaptopixel/spByj/
现在你在html中所做的就是
其中doSomething是一个函数。