Javascript 如何在移动设备上的div中使用Onclick
我正在使用asp repeater生成一个项目列表,每一行都是一个新的div。当我单击该行时,要高亮显示的行,并选中一个隐藏的复选框。为此,我在包含Javascript 如何在移动设备上的div中使用Onclick,javascript,jquery,html,Javascript,Jquery,Html,我正在使用asp repeater生成一个项目列表,每一行都是一个新的div。当我单击该行时,要高亮显示的行,并选中一个隐藏的复选框。为此,我在包含Container.ItemIndex的div上有一个id,因此它看起来像: <div class="cartItemInfo" id="cartItemInfo_<%# Container.ItemIndex %>" OnClick='<%# "return highlightrow(" + Container.ItemI
Container.ItemIndex
的div上有一个id,因此它看起来像:
<div class="cartItemInfo" id="cartItemInfo_<%# Container.ItemIndex %>" OnClick='<%# "return highlightrow(" + Container.ItemIndex +")" %>'>
单击时,它调用我的jquery并查看复选框是否选中,并执行我期望它执行的操作。当我在电话上尝试这个时,我遇到了一个问题。当警报未注释且我触摸列表中的区域时,它将告诉我正确的行号,但不会进入if或else
我已经读到onclick
在手机上不起作用,我应该让你ontouchstart
。但我甚至不能让它告诉我我在哪一排
如果我能提供更多的信息来帮助解决我的问题,我会尽我最大的努力。问题不在于onclick,而是jquery参考。我所在的服务器使用https,而对jquery文件的引用是http。在移动设备上,由于安全性的差异,它不会加载jquery文件。在了解Google远程调试并获得开发者控制台的访问权限后,我发现了问题。自从我创建WebForms以来,这已经有一点了,但不应该
OnClick
是OnClientClick
?编辑:没关系,那是ASP服务器控件的。。。同样的想法,return highlightrow(“+Container.ItemIndex+”)
是否需要包装在
中?您是否有一个onclick
不工作的示例?@neilsimp1是的,否则它将传递一个+Container字符串。ItemIndex+@Soren我没有,你有什么特别想要的吗?@JoeW你怎么知道你有问题要解决?看看这里;
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") });
}
}