在一个jquery获取script标签签内可以放两个点击事件吗?(jquery)

jQuery 事件
jQuery 事件
jQuery 是为事件处理特别设计的。
jQuery 事件函数
jQuery 事件处理方法是 jQuery 中的核心函数。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。
通常会把 jQuery 代码放到 &head&部分的事件处理方法中:
&script type=&text/javascript& src=&jquery.js&&&/script&
&script type=&text/javascript&&
$(document).ready(function(){
$(&button&).click(function(){
$(&p&).hide();
&h2&This is a heading&/h2&
&p&This is a paragraph.&/p&
&p&This is another paragraph.&/p&
&button&Click me&/button&
在上面的例子中,当按钮的点击事件被触发时会调用一个函数:
$(&button&).click(function() {..some code... } )
该方法隐藏所有 &p& 元素:
$(&p&).hide();
单独文件中的函数
如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。
当我们在教程中演示 jQuery 时,会将函数直接添加到 &head& 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件):
&script type=&text/javascript& src=&jquery.js&&&/script&
&script type=&text/javascript& src=&my_jquery_functions.js&&&/script&
jQuery 名称冲突
jQuery 使用 $ 符号作为 jQuery 的简介方式。
某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。
jQuery 使用名为 noConflict() 的方法来解决该问题。
var jq=jQuery.noConflict(),帮助您使用自己的名称(比如 jq)来代替 $ 符号。
由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
把所有 jQuery 代码置于事件处理函数中
把所有事件处理函数置于文档就绪事件处理器中
把 jQuery 代码置于单独的 .js 文件中
如果存在名称冲突,则重命名 jQuery 库
jQuery 事件
下面是 jQuery 中事件方法的一些例子:
Event 函数
绑定函数至
$(document).ready(function)
将函数绑定到文档的就绪事件(当文档完成加载时)
$(selector).click(function)
触发或将函数绑定到被选元素的点击事件
$(selector).dblclick(function)
触发或将函数绑定到被选元素的双击事件
$(selector).focus(function)
触发或将函数绑定到被选元素的获得焦点事件
$(selector).mouseover(function)
触发或将函数绑定到被选元素的鼠标悬停事件
如需完整的参考手册,请访问我们的 。如题,用的只是&a&标签的按钮,因为我想限制用户快速点击按钮这个情况,所以想通过监控click的点击次数进行限制
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
可以监听点击次数吗?你的目的是为了防止用户过多的点击某个按钮可以这样实现function abc(){
$('#a').off('click',abc);
//解绑事件
//事件代码
setTimeout(function(){$('#a').on('click',abc);},5000);
//5秒后再绑定事件,5秒内,用户点击无效};
$('#a').on('click',abc);
//绑定事件
JiangbeLiu个人建议:思路没有问题但是体验上会有一些问题,5秒内单击没有任何反应会给操作者造成困扰。所以建议①直接禁用按钮,5秒后解除禁用②禁用按钮的同时加上一个数秒的过程,也就是&5秒再次点击&相关代码如下,仅供参考:function abc(){$('#a').off('click',abc);
//解绑事件
//do what you want
//some tipsvar tmp = 5,
interval = setInterval(function(){
$("#a").html(''+tmp.toString()+'后再点击');
if(tmp===0){
clearInterval(interval);
$("#a").html('标签原来的Text');
两种方法,一是加个锁,指定时间后解锁,一是点击后 需要处理的逻辑扔进setTimeout里 ,每次点击后clearTimeout
假设node为a标签,用户2秒内只能点击一次方法一:
var lock=false,time=2*1000;addEvent(node,'click',function(){
if(lock){}//如果未解锁直接return;
lock=//锁定
setTimeout(function(){//2秒后解锁
//这里写你要做的事
.......});
如果2秒内点击两次,会直接return;2秒后解锁才可继续点击
var lockChecker,time=2*1000;addEvent(node,'click',function(){
clearTimeout(lockChecker);//把上一次点击产生的timeout清除掉
lockChecker=setTimeout(function(){//设置一个新的timeout,2秒后才执行
//这里写你要做的事
},time);});
这样2秒内无论点击多少次都只会响应最后那次的点击,前面的都被clear掉了
如果只是想实现点击次数的统计的话,这样是不是就OK了呢?如下:&pre&& script type="text/javascript"&
var times = 0;
function countClickedTimes(){
alert("当前点击次数:"+times);
}& /script&& body&
&a href="javascript:countClickedTimes();"&统计点击次数&/a&& /body&
但我想楼主的目的是为了阻止用户快速点击,参考下面的代码看看?如下:& script language="javascript" type="application/javascript"&
var times = 0;//点击次数
var preClickT//上一次点击的时间(毫秒)
var currentClickT//当前点击时间
function countClickedTimes(){
if(times === 0){
preClickTime = new Date().getTime();//首次点击的时间
alert("当前点击次数:"+times);
currentClickTime = new Date().getTime();
//alert(currentClickTime - preClickTime);
if((currentClickTime - preClickTime) & 3000) {//如果是3秒内重复点击
alert("亲,您的点击速度过快...");
preClickTime = currentClickT
times ++ ;
preClickTime = currentClickT
alert("当前点击次数:"+times);
}& /script&& body&
&a href="javascript:countClickedTimes();"&统计点击次数&/a&& /bo dy&
小弟刚做java不久,还差22天就半年了,第一次在德问网回答问题,还望大虾们多多指教,勿喷...&/pre&
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (11664) 次其他回答(2)
打开什么?新页面还是什么?
$("#btn").click(function(){
var div=$("#div");
if(div.css("display")!="none")
{div.css("display","none");}
else{div.css("display","block")}
园豆:13606
&&&您需要以后才能回答,未注册用户请先。javascript 要在同一个script标签内才能调取到函数?_百度知道
javascript 要在同一个script标签内才能调取到函数?
不用在同一个script标签内,JS是按块加载的,每个&script/&标签作为一块。加载完成后,就可以调用的到。第一种情况:第一块加载完成后,第二块还未加载,第一块就调用了第二块中的方法,所以调用失败。第二种情况:在一个块内,都加载完成后调用,所以调用成功。第三种情况:第一块下加载完方法,第二块再加载完毕,可以成功调用第一块已加载完的方法 函数只要是在同过一个页面就可以调用 (包含引入的远程文件。)比如有一些网站使用的是远程的jquery库 同样在页面中可以使用jquery的方法这个就是一个典型的例子。
其他类似问题
为您推荐:
提问者采纳
所以调用失败第二种情况;script/标签作为一块,第二块再加载完毕.第一种情况下,第一块加载完成后,第一块下加载完方法.第三种情况,所以调用成功;&gt,就可以调用的到,在一个块内,都加载完成后调用,第一块就调用了第二块中的方法,第二块还未加载.加载完成后.每个&ltJS是按块加载的
提问者评价
其他1条回答
然后在调用没有这样的说法,浏览器会自动帮你处理。第一种是因为分开的标签导致的a还没有生成。不然就会出现你所出现的问题了。所以你在a生成之前调用的话就报错了。如果在一个标签内。 所以一般写js的时候都是先把用的方法先引用
javascript的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁jquery中用trigger动态触发标签上绑定的事件 - jQuery - jQuery教程 - 天使建站
当前位置:&&&
jquery中用trigger动态触发标签上绑定的事件
有时我们需要用JS来动态触发标签上绑定的事件,例如上一篇文章中站长写的三级联动下拉框实例中,当第一大类改变时,会自动触发标签上的onchange事件,但是第二大类的内容显示出来后,却不会自动触发上面的onchange事件来显示第三大类,这就需要我们在显示第二大类的函数中动态触发onchange事件。有兴趣的朋友可以点些查看三级联动菜单效果:其实我们用jquery里的trigger来解决标签上的事件,是非常简单的,比如触发onclick、focus、change等事件:&script language=&javascript&&
$('#button').trigger(&click&);
$('#button').trigger(&focus&);
$('#button').trigger(&change&);
&/script&其实trigger不光能触发这些“正常”的事件,也可以触发我们自定义添加的事件的:&script language=&javascript&&
//先为按钮绑定上一个我们自定义的事件 myClick
$('#button').bind(&myClick&,function(){alert(&&);});
//和触发其它事件一样
$('#button').trigger(&myClick&);
&/script&再来说一点大家可能会忽视的,如果我们用trigger来解决表单的focus事件时,和用户在浏览器上点击表单让其获取焦点的效果是一样的,如果是输入框,则会显示光标,如果是链接,则会显示虚线框,如果我们不希望出现这些东西,可以用命令:triggerHandler:$(&input&).triggerHandler(&focus&);
本文&jquery中用trigger动态触发标签上绑定的事件&的内容摘要为:jquery中用trigger动态触发标签上绑定的事件&&由天使建站[]首发,转载请说明!
其他用户阅读&jquery中用trigger动态触发标签上绑定的事件&的同时也阅读了:
[:412]& []
[:11953]& []
[:1824]& []
[:674]& []
[:217]& []
与&jquery中用trigger动态触发标签上绑定的事件&同栏目下的站长推荐阅读:
[:113]& []
[:155]& []
[:119]& []
[:182]& []
[:590]& []
[:526]& []
与&jQuery实例&相关的栏目
与&jQuery实例&相关的专题
& & & & & & & & & &
热点文章推荐
& & & & & & & & & & & & & & & & & & & &
如果您需要建设网站、WEB程序定制或者现有网站改版,可以联系QQ:
天使建站 非常感谢您的到来!希望本站能对您有所帮助!
天使建站为您提供ASP、PHP、js、jquery、ajax等与网站开发相关的教程,实例与源码下载,打造最专业的站长交流和学习的免费平台
豫ICP备号-1 版权所有&
最后更新时间:

我要回帖

更多关于 jquery模拟点击事件 的文章

 

随机推荐