加入收藏 | 设为首页 | 会员中心 | 我要投稿 宿州站长网 (https://www.0557zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

jQuery事件使用方法概括

发布时间:2021-12-07 15:43:53 所属栏目:教程 来源:互联网
导读:jQuery提供了许多的事件处理函数,学习前端一段时间了,下面对其总结一下,梳理一下知识点。 一、鼠标事件 1. click():鼠标单击事件 $div = $(div) $div.click(data,function (event) { //点击盒子变蓝 $(this).css({ background: blue, }); console.log(ev

四、表单事件
* submit(): 用户递交表单
$(".form").submit(function (event) {
    alert("提交事件");
    console.log(event);
    //阻止系统默认事件
    event.defaultPrevented();
    return false;
})
submit事件绑定在form表单上,点击提交按钮时触发该事件,可以对系统默认的提交进行拦截。
event.defaultPrevented();//阻止系统提交数据
五、其他事件
* ready():DOM加载完成后执行
这个事件用来防止js报错,每次引入js都要使用,不在赘述。
* resize():浏览器窗口的大小发生改变触发事件
$(window).resize(function () {
    console.log($(window).width());
   })
   
参数同click,这个事件需要绑定在window上才会生效,用于监控窗口的变化。
* scroll():滚动条的位置发生变化
* change(): 表单元素的值发生变化
$put.change(function () {
    $div.css({
        "background": "blue",
    });
                
})
当表单元素如单选框、多选框、文本框等值发生变化时触发。
* unload() :用户离开页面
$(document).unload(function () {
    $div.css({
        "background": "blue",
    });
    console.log("likai");
})
六、通用的绑定事件和解绑方法
* bind():绑定
$(function(){
    $('div').bind('mouseover click', function(event) {
        alert($(this).html());
    });
});
   
参数:第一个参数为需要绑定的事件的名字,可以绑定多个事件,之间用空格隔开;第二个参数是处理函数。
* unbind():解绑
$(function(){
    $('#div1').bind('mouseover click', function(event) {
        // $(this).unbind();解绑所有事件
        $(this).unbind('mouseover');解绑指定事件
    });
});
参数同bind。
* on():绑定和委托都可用的方法
$("div").on(event,childSelector,data,function);
//四个参数
 
$(function(){
    $('div').on('mouseover click', function(event) {
        $(this).css({
        "background": "blue",
        });
    });
});
参数:
event,需要绑定的事件,多个事件用空格隔开;
function:事件的处理方法。
childSelector:选择需要委托的元素,用于委托事件。
data:额外的传参。
* off():解绑
$(function(){
    $('#div1').on('mouseover click', function(event) {
        // $(this).off();解绑所有事件
        $(this).off('mouseover');解绑指定事件
    });
});
* one():绑定一次自动解绑
如果需要触发事件一次后就自动失效,比如:按钮点击一次后 就失效使用这个方法。
 
$(function(){
    $('div').one('mouseover click', function(event) {
        $(this).css({
        "background": "blue",
        });
    });
});
注意:当一次性绑定多个事件时,多个事件相互是独立的,即如果有一个事件被触发,那么这个事件解绑,对另外没有被触发的事件没有影响。
七、自定义和主动触发事件
说明:对于系统没有提供的事件,可以自己定义并主动触发。
 
$div.bind("abc",function () {
    $(this).css({
        "background": "blue",
    });
    
})
$div.trigger("abc");
trigger():触发事件的方法;这种方式类似协程。
八、事件的两大特征运用:
1. 事件的冒泡:
定义:一个元素标签如div,在上面触发某种事件,如单击;如果div上没有定义单击事件或者定义了单击事件,但返回值不是false,即没有阻止冒泡;那么事件会向父级传递,每一个定义了单击事件的父级都会被触发事件,直到到达document或window。
注意:冒泡是事件的固有属性(自定义不适用),适合所有的系统事件。
作用: 允许多个事件被击中到父级处理,减少绑定次数,提高性能。
$(function(){
    var $box1 = $('.father');
    var $box2 = $('.son');
    var $box3 = $('.grandson');
    $box1.click(function() {
        alert('father');
    });
    $box2.click(function() {
        alert('son');
    });
    $box3.click(function(event) {
        alert('grandson');
       // event.stopPropagation();阻止冒泡
 
    });
    $(document).click(function(event) {
        alert('grandfather');
    });
})
 
......
 
<div class="father">
    <div class="son">
        <div class="grandson"></div>
    </div>
</div>
说明:上面代码界面,单击“grandson”的div,所有事件都会被触发;
如果要阻止事件冒泡,使用stopPropagation();
扩展:合并阻止操作
 
event.stopPropagation();//阻止冒泡
event.preventDefault();//阻止默认行为
 
// 合并写法:
return false;
实际开发中,一般把阻止冒泡和阻止默认行为合并起来写。
2. 事件委托
定义:
利用冒泡原理,将要处理相同事件的子元素的事件委托给父级,从而极大减少事件绑定的次数,提高性能。
 
委托事件:
 
delegate():
$(function(){
    $list = $('list');
    $list.delegate('li', 'click', function(event) {
        $(this).css({background:'red'});
    });
})//给列表下面的每个li元素的事件委托给list列表。
参数:第一个参数是需要委托的元素,采用css选择器的写法,默认从一级子元素开始;第二个参数时要委托的事件,可以是多个,之间用空格隔开,第三个参数是处理函数。
 
event指触发事件的那个对象。
 
on():
$(function(){
    $list = $('list');
    $list.on('click', 'li', function(event) {
        $(this).css({background:'red'});
    });
})//给列表下面的每个li元素的事件委托给list列表。
参数:
第一个是需要委托的事件,多个用空格隔开;
第二个是需要委托事件的子元素;
第三个是触发处理函数。
one():委托触发一次自动取消委托

(编辑:宿州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章