jQuery的事件机制,指的是jQuery对JavaScript操作DOM事件的封装,包括了:事件绑定、事件解绑、事件触发。
下面我们先来回顾一下事件的几种类型。
事件 | 描述 |
---|---|
click() | 鼠标单击事件 |
dblclick() | 鼠标双击事件 |
hover() | 鼠标悬停事件 |
mousedown() | 鼠标按下事件 |
mouseup() | 鼠标抬起事件 |
mouseenter() | 鼠标进入事件(不支持子元素) |
mouseleave() | 鼠标离开事件(不支持子元素) |
mouseout() | 鼠标离开事件(支持子元素) |
mouseover() | 鼠标进入事件(支持子元素) |
mousemove() | 鼠标移动事件 |
focus() | 聚焦事件 |
change() | 表单元素的值发生改变时激起的事件 |
submit() | 表单提交事件,绑定在form |
$(function(){$('div').on({click:function(){console.log('鼠标单击')},mouseover:function(){console.log('鼠标进入')}})
})
$(function(){$('div').click(function(){alert(1)})$('button').click(function(){$('div').off('click')})
})
$(function(){$('div').click(function(){$('div').css('background-color','red')})$('button').click(function(){$('div').trigger('click')})
})
jQuery中提供了一系列的操作DOM节点的API,用于解决DOM原生API无法进行批量操作并且功能性较差的弊端。
var newTd = $("<td></td>")
var newTd = $("<td>文本内容</td>")
<script>$(function(){var $li = $('<li>新元素</li>')$('ul').prepend($li)$li.prependTo($('ul')) $('.two').after($li)$li.insertAfter($('.two'))})
</script>
<ul><li></li><li class="two"></li><li></li>
</ul>
<script>$(function(){//$('ul').empty()$('li').click(function(){alert(111)})var a = $(".one").remove()$("ul").append(a) //点击时无响应var b = $(".two").detach()$("ul").append(b) //点击时弹出响应框})
</script>
<ul><li class="one">one</li><li class="two">two</li><li></li>
</ul>
<script>$(function(){$('.one').click(function(){alert(111)})var a = $(".one").clone()$("ul").append(a) //点击时无响应var b = $(".one").clone(true)$("ul").append(b) //点击时弹出响应框})
</script>
<ul><li class="one">one</li><li></li>
</ul>
<script>$(function(){var $li = $('<li>新元素</li>')$('.two').replaceWith($li)$li.replaeAll($('.two'))})
</script>
<ul><li class="two"></li><li class="two"></li><li></li>
</ul>
<script>$(function(){$('span').wrap('<div style="background:yellow;"></div>')$('p').wrapAll('<div style="background:red;"></div>')$('.two').wrapInner('<div style="background:blue;"></div>')})
</script>
<ul><li></li><li class="two"><span></span><span></span></li>
</ul>
<span></span>
<p></p>
<p></p>
$(".content .inner")
=>$(".content").children(".inner");
<script>$(function(){$('ul').find('.two').css('background','coral')$('.two').next('li').css('background','coral')$('.two').prev('li').css('background','coral')})
</script>
<ul><li></li><li class="two"></li><li></li><li></li>
</ul>
<script type="text/javascript">$(function(){$('td:contains("删除")').click(function(){$(this).closest($('tr')).remove()}) })
</script>
<table><tr><td>1</td><td></td><td></td><td>删除</td></tr><tr><td>2</td><td></td><td></td><td>删除</td></tr>
</table>
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态