问题描述
我正在使用 asp 中继器生成项目列表,每一行都是一个新的 div。
当我单击该行时,该行将突出显示并选中一个隐藏的复选框。
为此,我在包含Container.ItemIndex
的 div 上有一个 id,因此它看起来像:
<div class="cartItemInfo" id="cartItemInfo_<%# Container.ItemIndex %>" OnClick='<%# "return highlightrow(" + Container.ItemIndex +")" %>'>
onclick
调用这个:
function highlightrow(RowNum) {
//alert(RowNum);
if ($("input[id$=cbRowSelected_" + RowNum + "]").is(':checked')) {
// alert('IF');
$("input[id$=cbRowSelected_" + RowNum + "]").attr("checked", false);
$("div[id$=cartItemInfo_" + RowNum + "]").each(function () { $(this).css("background-color", "inherit") });
}
else {
//alert('ELSE');
$("input[id$=cbRowSelected_" + RowNum + "]").attr("checked", "checked");
$("div[id$=cartItemInfo_" + RowNum + "]").each(function () { $(this).css("background-color", "#8A8A8A") });
}
}
单击时,它调用我的 jquery 并查看复选框是否被选中,并执行我期望的操作。 当我在手机上尝试这个时,我遇到了一个问题。 当警报被取消注释并且我触摸列表中的区域时,它会告诉我正确的行号,但不会进入 if 或 else。
我已经读到onclick
在移动设备上不起作用,我应该ontouchstart
。
但是我什至无法告诉我我在哪个行号。
如果我能提供更多信息来帮助解决我的问题,我将尽我所能。
1楼
Joe W
0
已采纳
2015-07-31 16:07:47
问题不在于 onclick,而是 jquery 引用。 我所在的服务器正在使用 https,而对 jquery 文件的引用是 http。 在移动设备上,由于安全性差异,它不会加载 jquery 文件。 在学习了 Google Remote Debugging 并获得对开发者控制台的访问权限后,能够找到问题。