前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JQuery事件处理

JQuery事件处理

作者头像
苦咖啡
发布2018-05-07 17:51:56
2.8K0
发布2018-05-07 17:51:56
举报
文章被收录于专栏:我的博客我的博客

Jquery事件

1、  绑定事件示例代码:

<a href=”#”>绑定事件</a>

<div style=”display:none;”>

什么是绑定事件?这是隐藏的内容,点击上面的内容会显示这里的内容。

</div>

<script language=”javascript”>

//单击显示,再次点击隐藏

/*$(function(){

$(“a”).bind(‘click’,function(){

if($(this).next().is(“:visible”)){

$(this).next().hide();

}else{

$(this).next().show();

}

return false;

})

});*/

//鼠标划过显示,离开隐藏

/*$(function(){

$(“a”).bind(‘mousemove’,function(){

$(this).next().show();

}).bind(‘mouseout’,function(){

$(this).next().hide();

})

});*/

//第二种方式绑定事件,也是鼠标划过

$(function(){

$(“a”).mouseover(function(){

$(this).next().show();

}).mouseout(function(){

$(this).next().hide();

})

});

</script>

2、  合成事件示例代码:

<a href=”#”>这里是合成事件测试代码</a>

<div style=” display:none;”>这里的内容默认是隐藏的</div>

<script language=”javascript”>

//JQuery中目前有两个合成事件hover(),toggle();你可以这样理解:合成事件就是可以触发两个函数的事件

//鼠标停留显示隐藏内容,离开触发第二个函数隐藏内容

/*$(function(){

$(“a”).hover(function(){

$(this).next().show();

},function(){

$(this).next().hide();

})

});*/

//上面例子中,第一单击显示,第二次单击隐藏,同样可以用合成时间toggle(),这个时候的a也不会跳转

$(function(){

$(“a”).toggle(function(){

$(this).next().show();

//这是第一次单击后的操作,当然你可以给这个标题搞个背景色。使用addClass(),再次单击就用removeClass去掉就可以

},function(){

$(this).next().hide();

})

});

</script>

3、  事件冒泡示例代码:

事件冒泡

<span>我是父元素内容<b>这是后代元素内容</b></span>

<a href=”http://www.0377joyous.com” target=”_blank”>Joyous 博客</a>

<script language=”javascript”>

//比如一个父元素绑定了一个事件,而父元素内部后代元素又绑定了一个事件,这样后代元素事件响应的时候父元素事件响应不响应呢?

/*$(function(){

$(“span”).bind(‘click’,function(){

alert(“父元素事件被激活”);

});

$(“b”).bind(‘click’,function(){

alert(“子元素事件被激活”);

});

});*/

//单击b包含的内容会激活两个事件,这样怎么才能解决?

$(function(){

$(“span”).bind(‘click’,function(){

alert(“父元素事件被激活”);

});

$(“b”).bind(‘click’,function(){

alert(“子元素事件被激活”);

event.stopPropagation();//增加这句就阻止了事件冒泡,不过ie貌似不支持,当然可以增加一句return false;来解决

});

});

//这个问题是不是想到了提交按钮,a标签跳转等默认行为,我们是不是可以阻止这些默认行为发生,把控制权留给自己?

$(function(){

$(“a”).bind(‘click’,function(){

//其实基本原理就是重新写了click事件,当然我前面也有用到return false;来进制点击a进行跳转

event.preventDefault();

});

});

</script>

4、  移除事件示例代码:

<a href=”#”>移除事件例子</a>

<script language=”javascript”>

//移除事件就是用unbind()函数来移除

$(function(){

$(“a”).bind(‘click’,function(){

alert(‘弹出内容’);

});

$(“a”).unbind();//不带参数会移除所有事件,带事件类型参数会移除指定事件,带有事件类型以及处理函数作为参数那么移除指定事件处理函数

});

</script>

5、  模拟事件示例代码:

<button id=”mybut”>Joyous 博客–Jquery教程</button>

<span></span>

<a>多个事件</a>

<div style=”display:none;”>多个事件隐藏</div>

<script language=”javascript”>

//很多事件都是有用户单击或者鼠标划过来触发的,可是刚打开的页面我们有没有办法直接触发呢?

/*$(function(){

//这里绑定事件

$(“button”).bind(‘click’,function(){

$(“span”).append(“激活点击事件才能显示”);

});

});

$(function(){//触发一定要在触发前绑定或者定义

$(‘#mybut’).trigger(‘click’);

});*/

//能不能触发用户自定义的事件?

/*$(function(){

$(“#mybut”).bind(“myfun”,function(){

$(“span”).append(“<b>我自己定义的事件能激活吗?</b>”);

});

$(“#mybut”).trigger(“myfun”);

});*/

//能不能传递参数?

/*$(function(){

$(“#mybut”).bind(“mydata”,function(event,message1,message2){

$(“span”).append(“<i>”+message1+message2+”</i>”);

});

$(“#mybut”).trigger(“mydata”,[“第一个参数”,”第二个参数”]);

});*/

//bind既能绑定系统事件,也能 绑定用户定义事件,当然能绑定多个事件

$(function(){

$(“a”).bind(“mouseover mouseout”,function(){

$(this).next().toggle();

})

});

</script>

6、  基本动画示例代码:

<a href=”#”>基本动画</a>

<div style=”display:none;”>

<p>这里隐藏很多内容,慢慢的出来,慢慢的进去。。这就是基本动画。知识在于积累,不论现在有没有用,将来肯定有用滴!!</p>

</div>

<script language=”javascript”>

/*

//基本的隐藏和显示

$(function(){

$(“a”).toggle(function(){

$(this).next().show(1000);//在1s中内显示出来,还有slow=600毫秒,fast=200毫秒,normal=400毫秒

},function(){

$(this).next().hide(1000);

});

});*/

//改变透明度来显示和隐藏

/*$(function(){

$(“a”).toggle(function(){

$(this).next().fadeIn(800);

},function(){

$(this).next().fadeOut(800);

});

});*/

//元素高度来显示和隐藏

/*$(function(){

$(“a”).toggle(function(){

$(this).next().slideDown();

},function(){

$(this).next().slideUp();

});

});*/

</script>

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012年10月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档