我正在尝试在控制组中显示具有可点击图像的复选框列表。但是,click 事件不会在移动设备上触发,但在浏览器上可以正常工作。
根据建议,我尝试使用 bind/live/on 绑定事件,并尝试使用“touchstart”事件。为了让我得到正确的样式,我设置了一个标签,带有'data-role="none"'。
<div data-role="content" data-theme="a">
<fieldset id="lstProcedures" runat="server" data-role="controlgroup">
<input type='checkbox' name='chk1' id='chk1' value='1' />
<label for='chk1'> TEST
<a href='#' data-role="none" style="float: right" id="test" onclick="alert('Hello'); event.stopPropagation(); return false;">
<img src='/Images/pdf_icon32.png' alt='pdf' />
</a>
</label>
</fieldset>
</div>
最好将我的整个页面添加到此,因为我不确定我哪里出错了:
<head runat="server">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="/Content/lightgreen3.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile.structure-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
});
$(document).bind("mobileinit", function () {
$.mobile.pageLoadErrorMessageTheme = "a";
$.mobile.pageLoadErrorMessage = "Error!!!";
});
</script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript">
function ButtonClicked(senderName) {
var id = GetWorksheetID();
switch (senderName) {
case "Back":
window.location = "../MDetails.aspx?ID=" + id;
break;
}
}
function GetWorksheetID() {
var $tmp = $("#hdnField");
return $tmp.val();
}
$(document).on("pageinit", "#procedures", function () {
$("#lstProcedures > label > a").on("vclick", function () {
alert("Hello");
return false;
});
});
$(document).ready(function () {
parent.popup.SetHeaderText("Select Procedures");
});
function DisplayPDF(id) {
// alert("Hello " + id);
// window.open("http://google.com", "_blank");
}
</script>
<body>
<form id="form1" runat="server">
<input type="hidden" id="hdnField" runat="server" />
<div data-role="page" id="procedures">
<div data-role="header" data-theme="a" data-position="fixed">
<div class="ui-grid-a">
<div class="ui-block-a">
<a href="#" id="btnBack" runat="server" data-role="button" onclick="ButtonClicked('Back')"
data-icon="arrow-l" data-iconpos="top">Back </a>
</div>
<div class="ui-block-b">
<asp:Button ID="btnSave" runat="server" data-icon="check" data-iconpos="top" Text="Save" />
</div>
</div>
</div>
<div data-role="content" data-theme="a">
<fieldset id="lstProcedures" runat="server" data-role="controlgroup">
<legend></legend>
<input type='checkbox' name='chk1' id='chk1' value='1' />
<label for='chk1'>
TEST <a href='#' style="float: right" data-role="none" id="test" onclick="alert('Hello')">
<img src='/Images/pdf_icon32.png' alt='pdf' />
</a>
</label>
</fieldset>
</div>
</div>
</form>