为什么jquery取消绑定事件件的时候要用到立即执行函数

博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)js中立即执行函数的应用:应用到事件绑定上。
少说多做,直接运行代码(代码中有注释):
1 &!DOCTYPE html&
2 &html lang="zh"&
&meta charset="UTF-8" /&
&meta http-equiv="X-UA-Compatible" content="ie=edge" /&
&title&js立即执行函数应用--事件绑定&/title&
&style type="text/css"&
margin: 10px;
border: 1px solid #009F95;
cursor: pointer;
15 &/head&
&div id="a1"&
&div id="a2"&
&div id="a3"&
&script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.min.js"&&/script&
&script type="text/javascript"&
function(){
var eve = ['#a1','#a2','#a3'];
for(var i=0;i&eve.i++){
//关键点:立即执行函数
(function(i){
$(eve[i]).on('click',function(){
alert('触发第'+(i+1)+'事件');
})(i);//关键点:传入当前循环值i
42 &/body&
43 &/html&
运行结果:
当点击id为a1,a2,a3的div时分别触发对应的事件。
阅读(...) 评论()23:43 提问
表单用js绑定blur事件,表单一开始就处于失焦状态,一打开直接就执行函数,如何改正?
&!DOCTYPE html&注册
欢迎光临本店请,
填写账户信息,以下信息均为必填
登录账户:
登录密码:
确认密码:
商业名称:
商业地址:
广东省广西省湖南省江西省四川省中山市广州市深圳市梅州市佛山市番禺区白云区天河区海珠区越秀区
负责人姓名:
电子邮箱:
手机验证码:
我已阅读并同意《用户注册协议》
便利驿站 版权所有,并保留所有权利。凌塘12号大院三区一号
技术支持:骐云科技
function $(id){
return document.getElementById(id);
function check(){
if(email==""){
alert("邮箱不能为空!");
$("email").focus();
if(psd1==""||psd2==""){
alert("密码不能为空!");
$("psd1").focus();
if(userName==""){
alert("用户名不能为空!");
$("useName").focus();
function checkEmail(){
$("emailTip").innerHTML="";
email=$("email").
if(email==""){
$("emailTip").innerHTML="*e-mail不能为空";
else if(email.indexOf("@")==-1||email.indexOf(".")==-1){
$("emailTip").innerHTML="*e-mail格式不正确";
function checkUser(){
$("userTip").innerHTML="";
var userName=$("userName").
if(userName==""){
$("userTip").innerHTML="*用户名不能为空";
function checkPsd(){
$("psdTip").innerHTML="";
$("repsdTip").innerHTML="";
psd1=$("psd1").
psd2=$("psd2").
if(psd1==""){
$("psdTip").innerHTML="*密码不能为空";
else if(psd2==""){
$("repsdTip").innerHTML="*请输入两次密码";
else if(psd1!=psd2){
$("repsdTip").innerHTML="";
$("repsdTip").innerHTML="*请输入相同的密码";
$("psd2").focus();
window.onload=function(){
var userName=$("userName").value,
psd1=$("psd1").value,
psd2=$("psd2").value,
homeName=$("homeName").value,
address=$("address").value,
monitor=$("monitor").value,
email=$("email").value,
qqNumber=$("qqNumber").value,
phone=$("phone").value,
code=$("code").
var eventUtil={
addHandler:function(element,type,handler){
if(element.addEventListener){
element.addEventListener(type,handler,false);
else if(element.attachEvent){
element.attachEvent("on"+type,handler);
element["on" + type] =
removeHandler: function(element,type,handler){
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
else if(element.detachEvent){
element.detachEvent("on"+type,handler);
element["on"+type]=
eventUtil.addHandler("email","blur",checkEmail());
粗糙的代码段,怎么让电子邮箱哪里不直接显示而是失焦后显示
按赞数排序
$("input").blur(function(){
$("input").css("background-color","#D6D6FF");
css那里可以换成你想要达到的效果。JQuery.........
不要用blur 用change事件,一开始不会触发,效果和blur一样
做绑定事件不是好一点吗?
我推荐用jq.validate比较好用的验证框架,不用自己写
正常一开始不会触发blur事件的,因为一开始没有焦点,怎么会触发失去焦点,仔细检查检查看看是不是初始化时调用了什么。$("email").focus();
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
转载 & & 作者:
one()方法功能是为所选的元素绑定一个仅触发一次的处理函数,感兴趣的朋友可以了解下它的调用语法为:one(type, [data], fn),阅读本文或许有意外的收获呢
1、one()方法功能是为所选的元素绑定一个仅触发一次的处理函数,其调用的语法格式为:one(type, [data], fn)
其中参数type为事件类型,即需要触发什么类型的事件;参数data为可选参数,表示作为event.data属性值传递给事件对象的额外数据对象;fn为绑定事件时所要触发的函数。
2、示例代码: 代码如下:&!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& &meta http-equiv="Content-Type" content="text/ charset=utf-8" /& &title&其他事件&/title& &script type="text/javascript" src="jquery-1.8.3.min.js"&&/script& &script type="text/javascript"& $(function(){ $("#button").bind("click",function(){ $("#button").attr("value",""); }); }) &/script& &/head& &body& &div& &input id="button" type="button" value="查看联系方式" class="btn"/& &/div& &/body& &/html& 3、效果图预览:
再点击无反应
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 mysql 立即执行事件 的文章

 

随机推荐