我有这个html表,需要浏览“滑动”上的页面。
onSwipeRight = function () {
gridPager.CurrentPage(gridPager.CurrentPage() + 1);
},
onSwipeLeft = function () {
gridPager.CurrentPage(gridPager.CurrentPage() - 1);
},
<table width="100%" border="0" cellspacing="0" cellpadding="0" data-bind="swiperight: onSwipeRight, swipeleft: onSwipeLeft">
<tr class=" filterpanel">
<td><span class="rowMove" style="background: none;"></span></td>
<td><input type="text" data-bind="value: filtercus.name, valueUpdate: 'afterkeydown'"></td>
<td><input type="text" data-bind="value: filtercus.code, valueUpdate: 'afterkeydown'"></td>
<td><input type="text" data-bind="value: filtercus.description, valueUpdate: 'afterkeydown'" style="width: 295px"></td>
</tr>
</table>
当我在click事件上调用相同的JS方法时,该事件将成功触发。但是在“滑动”时不起作用。
答案 0 :(得分:1)
如果您需要通过剔除处理滑动事件,而不是直接处理,请使用event
绑定:
data-bind="event:{swiperight: onSwipeRight}"
很明显,onSwipeLeft
和onSwipeRight
必须在您的视图模型中声明。
此外,我相信您已经知道传递给敲除事件处理程序函数的前两个参数是
data
(上下文中的ViewModel)event
(jQuery事件)这意味着,您还可以仅使用一个功能来处理左右两个滑动方向:
onSwipe = function (data, event) {...
...因为jQuery.Event.type将为"swiperight"
或"swipeleft"
。