jQuery绑定事件
jQuery绑定事件
常用事件:click:左键点击事件、hover:鼠标悬浮事件、 blur:失去焦点事件、 focus:获取光标事件、 change: 与内容发生改变时事件、keyup:键盘抬起 、mouseout:鼠标离开 、mouseenter:鼠标悬浮、mouseover:鼠标悬浮。

jquery绑定事件的两种方式:
方式一:
$('#d1').click(function () {
// $(this).css('background-color','red');
$(this).css({'background-color':'red'});
});
方式二:on可以绑定多个事件,用逗号隔开。
<script> $('.c1').on('click',function () { $('.c1').css({'background-color':'pink'}); }) </script>
<script> $('.inp').on('focus',function () { $('.c1').addClass('c2'); }); $('.inp').blur(function () { $('.c1').removeClass('c2'); }); $('#python').change(function () { $('.c1').toggleClass('c2'); }) $('.c1').hover( function () { $(this).css({'background':'pink'}); }, function () { $(this).css({'background':'yellow'}); }, ); $('.c1').mouseenter(function () { $(this).css({'background': 'pink'}); }); $('.c1').mouseout(function () { $(this).css({'background': 'yellow'}); }); </script>
<script>
//键盘按下事件 匿名函数参数e|event是当前事件对象
$(window).keydown(function (event) {
console.log(event.keyCode); //每个键都有keyCode值,通过不同的值来触发不同的事件
if (event.keyCode === 37){
$('.c1').css({'background-color':'red'});
}else if (event.keyCode === 39){
$('.c1').css({'background-color':'green'});
}else {
$('.c1').css({'background-color':'black'});
}
})
</script>
input事件,绑定必须用on
<script> $('#search').on('input',function () { console.log($(this).val()); }) </script>
事件冒泡
什么是事件冒泡: 点击子级标签一个click事件的时候,子级标签的click事件执行完成之后父级标签的click事件也会执行,这种就是冒泡事件。
阻止冒泡事件发生:

<script> $('#d1').click(function () { alert('我说父级标签'); }); // $('#d2').click(function () { // alert('我是子级标签'); // return false; $('#d2').click(function (event) { alert('我是子级标签'); event.stopPropagation(); }); </script>
事件委托
事件委托就是通过事件冒泡的原理,利用父级标签去捕获子级标签的事件,将未来添加进来的子标签自动绑定上事件。
注意:$(this)的这个this还是自己绑定的那个标签!
<script> $('#d1').on('click','.c1', function () { alert('button按钮的弹出框'); var btn = document.createElement('button'); $(btn).text('自己建的button标签'); $(btn).addClass('c1'); console.log(btn); //添加到div标签的里面的后面 $('#d1').append(btn); }); </script>
页面载入
等到整个页面中的内容都全部加载完成之后,触发window.onload对应的函数里面的内容。弊端是window.onload有覆盖现象,会被后面的window.onload给重新赋值。
<script> window.onload = function () { $('.c1').click(function () { $(this).css({'background-color': 'red'}); }) } </script>
jquery页面载入的写法:


动画:
each循环:循环标签对象、数组。
<body>
<ul type="none">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</body>
<script src="jquery.js"></script>
<script>
$('li').each(function (k,v) {
console.log(k,v.innerText);
})
</script>
也可以循环普通数组:

注意:
在遍历过程中可以使用return false提前结束each循环,类似于break。
而直接使用return;后面什么也不加,不写false,就是跳过本次循环的意思,类似于continue。
data():


插件:


浙公网安备 33010602011771号