如何在移动设备上的div中使用Onclick

时间:2015-07-30 19:52:39

标签: javascript jquery html

我使用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 个答案:

答案 0 :(得分:0)

问题不在于onclick,而是jquery引用。我所使用的服务器使用的是https,而对jquery文件的引用是http。在移动设备上,由于安全性的不同,它不会加载jquery文件。能够在学习Google远程调试并获得对开发者控制台的访问权后找到问题。