BlackBerry 10 - touchstart,touchend和touchmove的问题

时间:2013-07-21 10:10:09

标签: javascript jquery html5 blackberry-webworks

目前我正在尝试在Q10上运行的应用上触摸事件。该应用程序使用Webworks,HTML 5,JavaScript和jQuery构建。

strPendList += '<div id="pendingContainer" class="pendingContainer">';
for(var i = 0; i < len; i++) {
  var pendRefNo = data.result[i].refno;
  var pendRequester = data.result[i].requestor;
  var pendDate= data.result[i].date;
  var pendAmount = data.result[i].amt;

  strPendList += '<div class="pendClaimDisplay" onmouseover="refHighlight(this)" onmouseout="noRefHighlight(this)" onclick="getQClaimParticulars(\''+pendRefNo+'\')">';

  strPendList += '<div class="pendRefLabel">REF NO </div>';
  strPendList += '<div class="pendRefValue">: '+pendRefNo+'</div>';
  strPendList += '<div class="pendRequesterLabel">REQUESTER : </div>';
  strPendList += '<div class="pendRequesterValue maxDisplay">'+pendRequester+'</div>';
  strPendList += '<div class="pendDateLabel">DATE </div>';
  strPendList += '<div class="pendDateValue">: '+pendDate+'</div>';
  strPendList += '<div class="pendAmountLabel">AMOUNT : </div>';
  strPendList += '<div class="pendAmountValue">'+pendAmount+'</div>';
  strPendList += '</div>';//end of pendClaimDisplay
}
strPendList += '</div>';//end of pendingContainer
$('#content').html(strPendList);
正在从Web服务检索

data.result,并将用于生成listing(pendClaimDisplay)。我尝试添加高亮效果,但onmouseover(refHighlight)无法在设备上运行。

我尝试将onmouseover替换为:

strPendList += '<div class="pendClaimDisplay" ontouchstart="refHighlight(this)" ontouchend="noRefHighlight(this); getQClaimParticulars(\''+pendRefNo+'\')">';

但是现在我无法向下滚动列表,因为每当我尝试向上或向下滚动列表时,ontouchend都会被触发。

有没有解决这个问题?

编辑:

function refHighlight(that) {
  $(that).css({'background-color':'#990000'});
}

function noRefHighlight(that) {
  $(that).css({'background-color':''});
}

1 个答案:

答案 0 :(得分:1)

不是100%确定为什么你的代码不能为你工作,但我在处理烦人的触摸问题时发现有用的一件事是使用一个名为Hammer.js的库

以下是我制作的使用它的示例应用:https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/gestures