我正在处理一个ASPX页面的JavaScript中的长按事件,但由于我没有太多的JavaScript经历有几个问题。我工作的问题是already asked here。长按 - ASP.NET
当我运行代码时,我收到消息“$ is not defined”,并且当我将$(“Button1”)更改为(“Button1”)时,我收到消息指出mouseup函数不存在。我遇到的主要问题是正确访问aspx控件。以下是我的代码。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
$(function() {
var pressTimer;
var longPress = 1000;
$("#<%= Label1.ClientID %>").bind("touchend", function (e) {
var d = new Date();
var timeDiff = d - pressTimer
if (timeDiff > longPress) {
document.getElementById("demo").innerHTML = "Mouse Up";
//actual logic here
}
return false;
});
$("#<%= Label1.ClientID %>").bind("touchstart", function (e) {
pressTimer = new Date();
return false;
});
});
</script>
<title>Long Press Testing</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:label ID="Label1" runat="server" text="Hold This Down" />
<br />
<p id="demo"></p>
</div>
</form>
</body>
</html>
感谢您的帮助。
[编辑] - 结果我错过了ready语句,所以事件现在正在发射,因为它应该。这是行为正常的最终版本。我还写了这个处理iPad的长按功能,所以如果有人试图这样做,这个代码是一个很好的开始。
什么是长按? –
长时间按压是iPad一段时间内按住某个给定控件的想法。他们已将此作为右键单击功能的解决方法。这就是为什么我有touchend和touchstart而不是mousedown和mouseup。 –