目前我正在尝试在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':''});
}
答案 0 :(得分:1)
不是100%确定为什么你的代码不能为你工作,但我在处理烦人的触摸问题时发现有用的一件事是使用一个名为Hammer.js的库
以下是我制作的使用它的示例应用:https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/gestures