JavaScript实现长按功能问题

问题描述

JScript code var dt2; var st; function test() { dt1 = new Date(); st = setTimeout(tt, 1000); return true; } function tt() { dt2 = new Date(); if (dt2.getTime() - dt1.getTime() > 1000) { clearTimeout(st); $("#ttt").html("hahahahaha");return true; } }HTML code <div id="ttt" style="height: 100px; border: 1px solid #c0c0c0;" onmousedown="return test();"> test</div>用vs调试,长按之后,tt()方法断点可以进去,div的内容可以被更新。但是,如果不加断点,一直按,就没有任何效果。请问这是怎么回事啊?

解决方案

你的设计有问题,这段代码中tt永远是1秒后执行。并且有可能定时有偏差,导致你那里判断不通过。你应该在test中注册document的mouseup来检测下什么时候松开的,如果触发,则应该清除setTimeout句柄。当然tt执行时,也应该清除mouseup句柄这样,一但鼠标提前松开,就能中止掉定时器
解决方案二:
setTimeout(tt, 1000);实际上并不是很精确的1000毫秒后执行,而是990+毫秒左右,所以不加断点 if (dt2.getTime() - dt1.getTime() > 1000) 就过不去,不执行里面的代码很正常,所以你这种实现方法不可取。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title> New Document </title><script type="text/javascript" src="jquery.js"></script><style>div#ttt{height: 100px; border: 1px solid #c0c0c0;}</style></head><body><div id="ttt">test</div><script>var timer,oDiv = document.getElementById('ttt'); oDiv.onmousedown = function() { timer = setTimeout(tt, 1000); } oDiv.onmouseup = function(){ clearTimeout(timer); } function tt() { oDiv.innerHTML = "hahahahaha"; } </script></body></html>
解决方案三:
clearTimeout(st); 把这句去掉是不是出来了
解决方案四:
我试了你的代码 一点反映都木有你是要实现具体哪样的功能啊
解决方案五:
关注 希望楼主可以早日找到解决办法

时间: 2024-10-23 20:29:04

JavaScript实现长按功能问题的相关文章

使用javascript实现的一些功能

原文:使用javascript实现的一些功能                  今天学习了javascript中的事件,已经接近尾声,可以说明天跨入jquery的学习啦,学习了一周的javascript,感觉还没有掌握其中学习的微妙之处,javascript使用起来是比较灵活的,而且很多浏览器的兼容性还是不一样的,嘿嘿,或许这就是原因的所在吧,在事件的处理上面还是很容易理解的,前面学习了那么多的语法知识以及对DOM的操作,想必在事件的学习上还是很容易接受的,就来总结一下吧.          一

常用Javascript函数与原型功能收藏(必看篇)_javascript技巧

如下所示: // 重复字符串 String.prototype.repeat = function(n) { return new Array(n+1).join(this); } // 替换全部 String.prototype.replaceAll = function(str1, str2) { return this.replace(new RegExp(str1, "gm"), str2); } // 清除空格 String.prototype.trim = function

用JavaScript实现页面重定向功能的教程

  这篇文章主要介绍了用JavaScript实现页面重定向功能的教程,是JS入门学习中的基础知识,需要的朋友可以参考下 页面重定向是什么? 当你点击一个URL来访问一个网页X,但在内部你被定向到另一页Y,仅仅是因为页面重定向.这一概念是从不同于JavaScript 页面刷新 . 可能有各种原因,为什么想从原来的页面重定向.下面列出的几个原因: 如果不喜欢你的域名,可以重定向到一个新的.同时,要引导所有访问者到新网站.在这种情况下,可以保持旧的域名,但放在一个页面到一个页面重定向使所有的旧域名游客

深入剖析JavaScript中的枚举功能

 本篇文章主要是对JavaScript中的枚举功能进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 由于 Microsoft AJAX Library 对于 JavaScript 进行了大幅扩展,   枚举这个常用的功能当然也被加进去了,   本次就是来探讨 JavaScript 的枚举功能.   由于范例很简单,   所以直接看 HTML 标签就 OK 了    代码如下: <html xmlns="http://www.w3.org/1999/xhtml">

用JavaScript实现类似于ListBox功能示例代码

 这篇文章主要介绍了用JavaScript实现类似于ListBox功能,需要的朋友可以参考下 JavaScript对于多项数据的请求和处理过程中,如何实现常常困扰很多程序员,如何进行动态编辑和删除而不影响其他的数据项,今天介绍一种方法,可供借鉴,例如通过XmlRequest请求到如下数据:  代码如下: <span style="font-size:14px;">{ "Table":  [  { "Id": 3, "Type

JavaScript中的ajax功能的概念和示例详解_javascript技巧

AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML). 个人理解:ajax就是无刷新提交,然后得到返回内容. 对应的不使用ajax时的传统网页如果需要更新内容(或用php做处理时),必须重载整个网页页面. 示例: html代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>

菜鸟蔡之Ajax复习第一篇(后台asp.net)(传统的JavaScript方法实现Ajax功能)_AJAX相关

其实最简单的可以理解为:JavaScript + XMLHttpRequest + CSS +服务器端的集合,其本质上是一种浏览器端的技术.好了, 简单的描述了一下,现在直接上代码吧! (1).功能描述: 新建两个html页面分别为1.html和2.html,在不刷新的情况下点击1.html页面上的"获取数据"按钮后,将2.html页中的内容显示在1.html页面的<div>标记中. (2).实现代码: 1.html实现代码: 复制代码 代码如下: <head>

JavaScript蒙板(model)功能的简单实现代码_javascript技巧

思路: •创建一个蒙板, 设置蒙板的堆叠顺序保证能将其它元素盖住 position: absolute; top: 0; left: 0; display: none; background-color: rgba(9, 9, 9, 0.63); width: 100%; height: 100%; z-index: 1000; •设置蒙板中内容的背景色和展示格式 width: 50%; text-align: center; background: #ffffff; border-radius

PHP+Javascript实现在线拍照功能实例_php技巧

本文实例讲述了PHP+Javascript实现在线拍照功能.分享给大家供大家参考.具体如下: 我们在一些WEB应用中可能会遇到这样的情况,用户需要自己现场拍照并上传到会员系统.比如驾校采集指纹拍照流程.考试现场采集照片等.我们今天要讲的是如何使用javascript和PHP实现一个简单的在线拍照并上传的功能. 实现这个功能的前提是你的电脑设备上需要安装有摄像头设备,以及你的浏览器需要支持flash <!DOCTYPE HTML> <html> <head> <me