JQuery 选择器和事件

本文深入探讨了JavaScript中的事件处理机制,包括事件绑定、解除绑定、事件目标与冒泡原理及自定义事件的创建与触发。提供了实用代码示例,帮助读者理解如何在实际项目中高效运用这些概念。

PS、//不是所有浏览器都支持 console.log 解决办法定义一个输出函数 调用即可 若出错则注释掉

function conlog(event){
console.log(event);
}

1、事件常用方法

2、事件之绑定

3、事件目标和冒泡
关注两个点:currenttarget
target

4、自定义事件

代码如下(代码中包含相关注释讲解)

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>选择器和事件</title>
    <script src="jquery-2.1.4.min.js"></script>
    <script src="event.js"></script>
</head>
<body>
<button>click here</button>

<button id="cb">click me</button>

<div style="width:300px;height:300px;background-color: bisque">
    <ul>
        <li>A</li>
        <li>B</li>
        <li>C</li>
        <li>D</li>
    </ul>
</div>

<button id="cb2">click again</button>

</body>
</html>

javascript 部分

/**
 * Created by qing on 2015/8/19.
 */


//事件常用方法

$(document).ready(function(){
    //$("button").click(function(){  //鼠标单击
    //    $("button").dblclick(function(){  //双击
    //$("button").mouseenter(function(){    // 鼠标移上
    //$("button").mouseleave(function(){   //鼠标移除   可查阅API  还有很多比如光标聚集等
    //    $(this).hide();
    //})
});

//事件之绑定 接触绑定事件
$(document).ready(function(){
    //$("#cb").click(function(){  //代码量大的时候这种写法不简洁 占内存
    //    alert("点击我");
    //})

    //$("#cb").bind("click",clickHandle1);
    //$("#cb").bind("click",clickHandle2);
    //$("#cb").unbind("click");//解除所有点击事件
    //$("#cb").unbind("click",clickHandle2);//解除某个点击事件


//jq1.7以后可以这样 官方推荐 底层也是调用on off
//    $("#cb").on("click",clickHandle1);
//    $("#cb").on("click",clickHandle2);
    //$("#cb").off("click");//解除所有点击事件
    //$("#cb").off("click",clickHandle2);//解除某个点击事件
});


function clickHandle1(e){    //参数e???
    console.log("完成事件绑定bind")
}

//可以绑定几个事件
function clickHandle2(e){    //参数e???
    console.log("完成事件绑定bind2")
}


//事件目标和事件冒泡

$(document).ready(function(){
    //$("body").bind("click",bodyHandle); //若点击DIV部分,则currenttarget为body,target为DIV
    //$("div").bind("click",divHandle);
    //$("div").bind("click",divHandle2);
})

function bodyHandle(event){
    console.log(event);
}

function divHandle(event){
    console.log(event);
    //event.stopPropagation(); //阻止父级冒泡事件  就是只点击DIV  不触发body的点击事件
    event.stopImmediatePropagation(); // 阻止所有冒泡事件 意思是只有divHandle可以实现
}

function divHandle2(event){
    //console.log("hellow");
    conlog(event);
}

//不是所有浏览器都支持 console.log 解决办法定义一个输出函数  调用即可  若出错则注释掉

function conlog(event){
    console.log(event);
}


//自定义事件  

var cb2;

$(document).ready(function(){
    cb2=$("#cb2"); //简便

    cb2.click(function (){
        var e=jQuery.event("MyEvent");   //通过jq创建一个对象?
        cb2.trigger(e)   //?申明
    });

    cb2.bind("MyEvent",function(event){
        console.log(event);
    })

});

自定义事件报错:Uncaught TypeError: object is not a function
不知道是不是 cb2.trigger(e)这儿有问题,解决之后会继续完善

内容概要:本文详细介绍了一种基于Simulink的表贴式永磁同步电机(SPMSM)有限控制集模型预测电流控制(FCS-MPCC)仿真系统。通过构建PMSM数学模型、坐标变换、MPC控制器、SVPWM调制等模块,实现了对电机定子电流的高精度跟踪控制,具备快速动态响应低稳态误差的特点。文中提供了完整的仿真建模步骤、关键参数设置、核心MATLAB函数代码及仿真结果分析,涵盖转速、电流、转矩三相电流波形,验证了MPC控制策略在动态性能、稳态精度抗负载扰动方面的优越性,并提出了参数自整定、加权代价函数、模型预测转矩控制弱磁扩速等优化方向。; 适合人群:自动化、电气工程及其相关专业本科生、研究生,以及从事电机控制算法研究与仿真的工程技术人员;具备一定的电机原理、自动控制理论Simulink仿真基础者更佳; 使用场景及目标:①用于永磁同步电机模型预测控制的教学演示、课程设计或毕业设计项目;②作为电机先进控制算法(如MPC、MPTC)的仿真验证平台;③支撑科研中对控制性能优化(如动态响应、抗干扰能力)的研究需求; 阅读建议:建议读者结合Simulink环境动手搭建模型,深入理解各模块间的信号流向与控制逻辑,重点掌握预测模型构建、代价函数设计与开关状态选择机制,并可通过修改电机参数或控制策略进行拓展实验,以增强实践与创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值