今天要写个获取验证码倒计时 60 秒,用到了 setInterval 。其中按钮点击后要禁用 onclick 事件 (当然也可以在 onclick 事件中判断剩余时间小于 60 秒就 return false) ,当剩余时间为 0 秒时,则要恢复按钮的 onclick 事件,
问题就出在恢复 onclick 上,enableObj 函数一执行,就立即调用了 func ,导致了死循环 ,最后将 $(obj).attr("onclick", func); 改为 $(obj).bind('click', func); 问题解决
函数如下(其中闭包全局函数名 yjzx ,window.$yjzxjs = yjzx)
enableObj : function(obj, func) {
if (func) {
$(obj).attr("onclick", func);
}
},
//倒计时 60 秒
getValidCode : function() {
tempTimer = setInterval('$yjzxjs.getValidCode_()', 1000);
},
getValidCode_ : function() {
if (countSeconds <= 0) {
if (tempTimer) {
clearInterval(tempTimer);
}
yjzx.setHtml('validcodeButton', '重新获取');
yjzx.enableObj($api.byId('validcodeButton') , yjzx.getValidCode);
countSeconds = countSecondConst;
return;
} else {
yjzx.disableObj($api.byId('validcodeButton'));
yjzx.setHtml('validcodeButton', countSeconds + '秒后重新获取');
countSeconds--;
}
},
分享到:
相关推荐
$("#anchor").attr('onclick', '').click(newclick); 如果onclick事件原先有值,要先清空,再用click( eval(function(){…..}) )赋值 $("input[name='orderCar']").attr('onclick','').click( eval(...
那么你可能在某些时候需要去修改onclick 的属性如下: 代码如下: $(“#id”).attr(“onclick”,url); 这样的代码,在chrome和firefox 中可以得到你想要的结果。 遗憾的是在ie中,至少是ie7 以下是没有效果的,至于...
**jQuery的attr方法详解** 在JavaScript的世界里,jQuery库以其简洁的API和强大的功能深受开发者喜爱。其中,`attr`方法是jQuery中的一个重要成员,它主要用于获取或设置HTML元素的属性(attribute)。本文将深入...
这里给大家介绍利用jquery的removeAttr与attr事件来给a标签增加与删除onclick事件的具体操作方法,有需要了解的朋友可参考。 要实现效果:点击链接先去掉onclick属性,3秒后再自动加上该标签中的onclick属性 jQuery...
问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,...
在jQuery中,处理复选框(checkbox)的状态时,可能会遇到一个问题,即使用`attr()`方法无法正确地进行二次勾选。这个问题在描述中已经提到,当尝试通过`attr()`方法改变checkbox的选中状态时,特别是在反复切换的...
但是因为IE8不支持这种方式,所以改用jQuery的`attr`方法。由于直接设置`onclick`属性并未生效,最终的解决方法是创建一个函数,将事件处理函数的代码作为字符串赋值给函数,然后在该函数内部使用`eval`来执行这段...
在讨论如何在使用jQuery移除button元素上的inline onclick事件以及如何处理不同浏览器兼容性问题时,本文将详细探讨以下关键知识点: 1. inline onclick事件的工作原理和其潜在问题。 2. jQuery中移除和绑定事件的...
在JavaScript和jQuery中,改变按钮`input`的`onclick`事件主要是通过操作DOM元素的属性或者使用事件监听器来实现的。在这个问题中,开发者希望动态地改变一个ID为`prebt`的按钮的`onclick`事件,以便调用不同的`To...
在jQuery中,`$(selector).attr("attrName")` 获取属性值,`$(selector).attr("attrName", "value")` 设置属性值。另外,`$(selector).val()` 用于获取或设置表单元素的值,`$(selector).html()` 获取或设置元素的...
**jQuery框架**是一种广泛使用的JavaScript库,它极大地简化了网页中的DOM操作、事件处理和动画效果。这篇笔记将深入探讨jQuery的基础用法、事件以及调用方法。 ### 1. 获取jQuery对象 #### 1.1 选择器 - **ID...
- 设置`onclick`属性: `$("a").attr("onclick","test();");` #### 五、`addClass`, `removeClass`, `toggleClass` 的使用 - `addClass(class)`: 为匹配元素添加指定的类。 - `removeClass(class)`: 从匹配元素中...
在原生JavaScript中,我们可以使用document.getElementById("btn").onclick来实现相同功能,但要注意,jQuery对象不能直接使用DOM对象的方法,如$("#btn").onclick是错误的。如果需要在jQuery对象上使用DOM方法,...
$("#yourTextBoxId").attr("onclick", "WdatePicker({dateFmt:'yyyy-MM-dd'})"); ``` 此外,还可以通过JavaScript对象配置更多高级特性,例如设置默认日期、更改语言等: ```javascript $("#yourTextBoxId").attr...
6. **事件处理**:通过addEventListener或onclick等方法响应用户行为。 ### jQuery入门 jQuery库简化了JavaScript的许多繁琐部分,主要涉及以下内容: 1. **选择器**:jQuery提供了CSS选择器,如ID选择器(#id)、类...
代码如下: [removed] function doTest(){ var value = $(“input[name=’dizhi’][type=’radio’]:checked...input name=”dizhi” type=”radio” id=”dizhi” onclick=”doTest()” value=”<?php echo $rsaddr
在本篇关于jQuery的综合练习中,我们涵盖了多个核心知识点,包括jQuery对象的隐式迭代、DOM对象与jQuery对象的转换、以及`text()`、`attr()`和`val()`等方法的使用。以下是对这些概念的详细解释: 1. **jQuery对象...