jQuery 教程 (五) 事件与事件对象2 .NET

风储VSG-基于虚拟同步发电机的风储并网系统Simulink仿真 内容概要:本文介绍了“Plecs全桥LLC谐振变换器仿真模型”这一技术资源,聚焦于隔离型全桥LLC谐振变换器的建模、仿真与参数设计,涵盖其在电力电子系统中的关键应用,如软启动、闭环控制、变频控制及效率优化等。该模型支持对LLC变换器在不同工作模式下的动态响应与性能表现进行深入研究,适用于探究谐振拓扑结构、磁性元件设计、谐振参数匹配以及先进控制策略的科研与工程实践。同时,文档配套提供了仿真模型、设计报告与计算书等完整资料,强化了其实用性与教学价值。; 适合人群:具备电力电子、自动化或电气工程等相关专业背景,从事电力电子变换器研发、系统仿真与控制算法设计的科研人员、工程师及研究生。; 使用场景及目标:①用于全桥LLC谐振变换器的建模、仿真与动态性能分析;②支持对软启动过程、闭环稳压控制、变频调谐及效率优化等核心技术的研究与教学;③为电力电子电源系统的工程设计、参数优化与控制策略验证提供高精度仿真平台。; 阅读建议:建议结合Plecs或Simulink等仿真工具进行动手实践,重点理解电路拓扑构建、谐振参数计算、控制器设计与系统稳定性分析,并配合文档中的设计报告与计算书,系统掌握从理论到仿真的完整流程。 立即下载

五.常用事件函数举例

1.bind( type, [data], fn ) 函数举例

bind()是最常使用的函数, 注意方法签名上data参数, 可以在事件处理之前传递一些附加的数据:

function handler(event) {
  alert(event.data.foo);
}
$("p").bind("click", {foo: "bar"}, handler) 


注意event参数的使用. jQuery中统一了事件对象, 将事件对象作为事件处理函数的唯一参数传递.

data参数我们也要通过event.data 进行访问. 为何要提供data参数呢?

因为我们经常碰到这样的问题: 希望在事件处理中根据事件源的某些数据进行特殊处理.

目前网上有两种存在争议的解决方法:

(1) 使用自定义元素属性存储数据.

比如:

<div id="testDiv5" customer="customer data 1">获取自定义数据-1</div>

在事件处理函数中获取数据:

$("#testDiv5").bind("click", function(event) { alert($(event.target).attr("customer")); });


attr函数是上一讲中的知识, 用于获取元素的"元素属性", 而且可以获取自定义的元素属性. 单击div后将显示:

image

(2) 使用脚本将数据传递给事件处理函数:

<div id="testDiv6">获取自定义数据-2</div>


元素没有任何的自定义属性, 添加事件处理函数时将额外的数据传递:

$("#testDiv6").bind("click", { customer: "customer data 2" }, function(event) { alert(event.data.customer) });


点击div后的结果和方法1相同:

image

方法1便于存储和查找数据. 但是自定义属性通过不W3C验证.

方法2必须要自己想办法存储数据, 并且要制定规则查找指定元素的数据.

从"开发人员"的角度方法1要更加简单直观. 但是缺点比较严重. 所以如何取舍请大家自己决定.

one( type, [data], fn ) 函数和bind一样, 但是只执行一次.

2. trigger( event, [data] ) 和 triggerHandler( event, [data] )

虽然为元素绑定了某些事件, 比如click, 但是有时希望在程序中触发这些事件, 这两个函数可以实现此功能.

主要区别是trigger会出发浏览器默认的动作, 而triggerHandler不会出发.

通过下面的实例可以明确的区分这两个函数:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>jQuery事件处理:trigger和triggerHandler示例</title>

    <script type="text/javascript" src="scripts/jquery-1.3.2-vsdoc2.js"></script>

    <script type="text/javascript">
        $(function()
        {
            $("#old").click(function()
            {
                $("#divResult").html("");
                $("input").trigger("focus");
            });
            $("#new").click(function()
            {
                $("#divResult").html("");
                $("input").triggerHandler("focus");
            });
            $("input").focus(function() { $("<span>Focused!</span>").appendTo("#divResult"); });
        })
        
    </script>

</head>
<body>
    <button id="old">
        .trigger("focus")</button>
    <button id="new">
        .triggerHandler("focus")</button><br />
    <br />
    <input type="text" value="To Be Focused" />
    <div id="divResult"></div>
</body>
</html>

当单击".trigger"按钮时, 会调用两次Focesed, 并且input元素获得了焦点:

image

单击".triggerHandler"按钮时, 只调用一次,并且input元素没有获得焦点:

image

也就是说, trigger函数出发了浏览器默认的获取焦点的行为,让input元素获得了焦点, 所以再次调用了focus事件处理函数.

triggerHandler只调用为focus事件绑定的事件处理函数, 而不引发浏览器行为, 所以最后input元素没有获得焦点.

六.快捷事件 Event Helpers

BUG提示:jquery-1.3.2-vsdoc2.js 这个最新的官方带智能提示的类库, 无法使用快捷事件, 比如click(), focus(). 使用其他版本的类库则没有问题.

虽然我们可以使用事件处理函数完成对象事件的几乎所有操作, 但是jQuery提供了对常用事件的封装. 比如单击事件对应的两个方法click()和click(fn)分别用来触发单击事件和设置单击事件.

设置单击事件:

$("#testDiv").click(function(event) { alert("test div clicked ! "); });


等效于:

$("#testDiv").bind("click", function(event) { alert("test div clicked ! "); });

触发单击事件:

$("#testDiv").click();


等效于

$("#testDiv").trigger("click");

注意这里等效的是trigger而不是triggerHandler.

此类方法在jQuery中英文叫做Event Helpers, 我找不到很好的翻译方式, 所以按照功能称其为"快捷方法", 征集好的翻译名称!

下面是jQuery的快捷方法列表:

由于都是都是对应的事件, 所以不再写说明和举例了.

名称说明举例
blur( )
blur( fn )
change( )
change( fn )
click( )
click( fn )
dblclick( )
dblclick( fn )
error( )
error( fn )
focus( )
focus( fn )
keydown( )
keydown( fn )
keypress( )
keypress( fn )
keyup( )
keyup( fn )
load( fn )
mousedown( fn )
mouseenter( fn )
mouseleave( fn )
mousemove( fn )
mouseout( fn )
mouseover( fn )
mouseup( fn )
resize( fn )
scroll( fn )
select( )
select( fn )
submit( )
submit( fn )
unload( fn )

从零到一:uniPush2.0全链路集成与多厂商通道配置实战 本文提供了uniPush2.0从零开始的全链路集成与多厂商通道配置实战指南。详细讲解了DCloud平台配置、uniCloud云函数开发、客户端CID获取与消息监听,并重点攻克了华为、小米、OPPO、vivo等主流厂商推送通道的配置难点与避坑技巧,帮助UniApp开发者实现“一次集成,全端覆盖”的高效消息推送方案。 阅读详情

相关推荐

模块 stm32_基于STM32设计的RFID读卡模块电路方案(原理图+程序)

采用stm32F030F4,用PWM产生125KHZ的方波,经过推挽电路进行功率放大,高频电流进入LC串联谐振电路,345uH和4.7NF的谐振频率正好是125KHZ,这时电容两端电压会到十几伏。当有卡接近线圈时,线圈两端会有曼彻斯特编码的调幅波。通过二极管以及电容的检波和滤波,产生的小信号送入LM358进行放大和整形,变成单片机可以读取的曼彻斯特编码信号。• IO 分配(采用内部晶...

weixin_28686771的博客 3816

jQuery 教程 (五) 事件与事件对象1 .NET

一.摘要 事件是脚本编程的灵魂. 所以本章内容也是jQuery学习的重点. 本文将对jQuery中的事件处理以及事件对象进行详细的讲解. 二.前言 本篇文章是至今为止本系列内容最多的一篇, 足以可见其重要性. 大家反映要多列举示例. 我会在时间允许的情况下尽量多列举示例. 真正的投入生产使用的实例暂时还无法加入到文章中, 但是可能最后我会列举一些作品供大家借鉴. 另外本人水平有限,

丨Fanny丨Cri 527

SAP产品合规(Product Compliance)管理—规格主数据 CG02/CG02WB

SAP产品合规(Product Compliance)管理—规格主数据概览 CG02/CG02WB

Lucas1211的博客 1430

Asp.Net+Jquery.Ajax详解7-全局Ajax事件

目录(已经更新的文章会有连接,从7月25日开始,每2到3天更新一篇): Asp.Net+Jquery.Ajax详解1-开篇(2012.07.25发) Asp.Net+Jquery.Ajax详解2-$.Load(2012.07.26发) Asp.Net+Jquery.Ajax详解3-$.get和$.post(2012.07.30发) Asp.Net+Jquery.Ajax详解4-$.ge

一名系统架构师的征途 3724

aubo i5 + realsense D435i识别抓取实践二

aubo i5 + realsense D435i识别抓取实践二前言一、手眼标定是什么?二、标定软件安装1.aruco_ros安装2.vision_visp安装3.easy_handeye安装4.realsense驱动安装5.安装realsense ROS软件包三、配置1.launch文件修改2.打印二维码四、手眼标定1.启动launch文件2.标定步骤3.发布tf关系 前言 前面配置好了aubo机械臂的ROS软件包,机械臂可以正常运行后,接下来我们进行机械臂与相机的手眼标定。手眼标定分为eye_on_ha

转角 6374

MaaS 商业模式全面分析报告:从技术赋能到商业变现的全链条探索

MaaS(模型即服务)商业模式正成为AI产业主流,2024年上半年中国市场规模达2.5亿元,预计2027年占比将提升至47%。该模式通过云服务提供预训练AI模型,大幅降低企业应用AI的技术门槛和成本。核心盈利方式包括按使用量计费、订阅制、定制化服务等,其中混合模式因灵活性成为趋势。MaaS产业链包含模型提供商、云平台、应用开发商和最终用户,重塑了AI产业格局。随着《数据法案》等监管加强,数据增值服务面临更严格合规要求。未来五年,中国MaaS市场增速预计超50%,用户规模将从2025年2.1亿增至2030年5

芯片行业20年 · 参与定义实现千万级量产出货 · AI芯片PM 2892

从零开始学习jQuery (五) 事件与事件对象

Source Generator 就是个编译前的代码外挂,Roslyn为它提供了供用户自定义的入口,也叫扩展点,让我们可以根据语法和语义解析来结合自己的需求规则,在编译阶段,额外生成一些c# 代码,让你少写代码,提高效率,而且生成的代码就跟你自己写的一样,生成完之后,默认会和自己的源码一起进行编译为dll。这个比较重要,意思就是定义一个接收器,蹲在编译器旁边,盯着所有代码,他的任务就是从所有源代码里,找出符合的特定的目标,然后存起来,这里是只要语义是类的节点就存起来,记。

qkP8aID39的博客 821

信捷 XDH Ethercat 正负极限配置详解与实战技巧

本文详细解析了信捷XDH系列PLC通过EtherCAT总线配置伺服电机正负硬极限的完整流程与实战技巧。内容涵盖硬件开关选型安装、EtherCAT IO信号映射、软件参数设置(包括关键的极性配置)、调试验证方法,以及硬极限与软极限的协同策略。重点阐述了如何避免常见配置错误,确保运动控制系统的最后一道物理安全防线可靠有效,为工程师提供从理论到实践的全面指导。

wdx012345的博客 601

ASP.NET MVC 中使用 jQuery DataTables 教程

ASP.NET MVC 中使用 jQuery DataTables 教程 项目介绍 Mvc.JQuery.DataTables 是一个开源项目,旨在简化 ASP.NET MVC 应用程序中将 IQueryable 数据源与流行的 jQuery DataTables 插件集成的过程。它提供了一系列辅助方法,允许开发者轻松地将复杂的表格功能(如过滤、排序、分页及自定义渲染)添加到基于控制器的视图中,...

gitblog_00662的博客 672

AI编程助手Cursor如何革新经济学研究:从计量模型到可视化全流程实战

在数据科学和人工智能技术蓬勃发展的今天,如何高效地将前沿AI工具融入专业领域的研究工作流,成为提升科研效率的关键。其核心原理在于通过自然语言交互,将研究者的专业问题转化为机器可执行的指令,从而实现人机协作的范式转移。这一技术的核心价值在于大幅降低非计算机背景研究者的编程门槛,将精力从繁琐的代码实现中解放出来,更聚焦于学科本身的思想与逻辑。尤其在经济学、金融学等高度依赖数据分析和计量建模的领域,AI编程助手能够快速处理数据清洗、模型估计、可视化及结果解释等任务。具体到应用场景,研究者可以利用结构化提示词工程,

weixin_42531579的博客 296

PyTorch实战:3D U-Net医学图像分割从零搭建(附完整代码)

本文详细介绍了如何使用PyTorch从零搭建3D U-Net模型进行医学图像分割,涵盖三维卷积实现、模块化架构设计、医学图像专属优化策略及完整训练流程。通过实战代码演示,帮助开发者掌握UNet-3D在CT、MRI等三维医学图像分割中的应用,提升肝脏肿瘤分割、肺结节检测等任务的准确性。

weixin_29061997的博客 330

jquery 检测回车事件_jquery 回车事件

简单地记下jquery实现回车事件,代码如下:全局:$(document).keydown(function(e){if(e.keyCode==13){$(".login-li input[type=button]").trigger("click");}});某个控件:$("body").keydown(function(e){if(e.keyCode==13){$(".login-li inp...

weixin_39534208的博客 1913

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jQuery对象与dom对象的区别

1.jQuery对象和DOM对象 第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系. DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象; 复制代码 代码如下: var domObj = document.getElementBy

前端 潇凡-一个标准前端IT女 544

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jQuery MAC项目的创建、jQuery的事件与转换

MAC项目的创建 选择器的作用就是查找元素 创建MAC的具体步骤: 第一步:先创建一个元素 (见图表1) 图表 1 第二步:选择web和ASP.NET Web 应用程序,添加项目名称以及存储的位置 (见图表2) 图表 2 第三步:选择MAC以及空的模板 [Empty] (见图表3) 图表 3 第三步:先添加一个新的文件夹 文件名可以随意更换 但默认地文件名为Conrtert。 注意:添加的新的文件名要选中解决方案下面的jQuery body右击添加,选择到其他的文件名添加.

weixin_49756484的博客 526

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jQuery框架学习第五天:事件与事件对象

jQuery框架学习第一天:开始认识jQueryjQuery框架学习第二天:jQuery中万能的选择器jQuery框架学习第三天:如何管理jQuery包装集 jQuery框架学习第四天:使用jQuery操作元素的属性与样式jQuery框架学习第五天:事件与事件对象jQuery框架学习第六天:jQuery中的Ajax应用jQuery框架学习第七天:jQuery动画–jQuery让页面动起来! jQu...

weixin_34008784的博客 155

jQuery对象与DOM对象

开发工具与关键技术:Visual Studio ASP.NET MVC 作者:刘剑鸿 撰写时间:2019年06月24日 星期一 jQuery对象与DOM对象 jQuery对象和DOM对象是不一样的,初次学习jQuery函数库要注意的一点。可有时分不清哪些是jQuery对象,哪些是DOM对象怎么办? 下面通过例子简单区分jQuery对象和DOM对象: 我们...

weixin_44538469的博客 157

asp.net中ScriptManager自带Ajax与jQuery事件冲突

问题引诉:最近在使用asp.net自带的无刷新提交ScriptManager时,发现一个问题,就是和我自己用jQuery写的一些事件函数和局部刷新相冲突。通过在网上收索,发现很多人都遇到这个同样的问题。最终还是找到的解决的办法,在此我想将其解决的办法分享出来供大家参考。 问题解决办法: 方法1、两者实现都能够实现页面的无刷新效果,所以可以保留其中的一种即可; 方法2、如果必须要两者混合应用,

给力VSTO 1666

关于jquery中丢失事件的问题

我的网站是用asp.net mvc 做的。其中用到了jquery代码:$(document).ready(function() {        $(#btn_skey).load(function() {            $(#btn_skey).mouseover(function() {                var skey = $.trim($(#sk

yzq124391的专栏 965

jquery访问asp.net 返回的json对象

asp.net中将DataTable转换成json格式 /// /// dataTable转换成Json格式 /// /// /// public static string DataTable2Json(DataTable dt, string t

handsometone1982的专栏 2386

JQuery教程详解之五AJAX与noConflict()

JQuery教程详解之五AJAX与noConflict()

无名 493

JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载]

JavaScript组件之JQuery(A~Z)教程(基于Asp.net运行环境)[示例代码下载] (一).概述 现在有好多比较优秀的客户端脚本语言组件, 如: Prototype、YUI、jQuery、mootools、Bindows, Scriptaculous, FCKEditor 等, 都非常不错, 最近研究了一下 jQuer...

weixin_30374009的博客 115

按钮点击触发ajax事件,Jquery asp.net按钮点击事件通过ajax

这是jQuery真正发光的ASP.Net开发人员。假设你有这个ASP按钮:当呈现时,你可以看看页面的源代码,它上面的id不会是btnAwesome,而是$ ctr001_btnAwesome或者类似的东西。这使得它在屁股中发现在javascript中的痛苦。输入jQuery。$(document).ready(function() {$("input[id$='btnAwesome']").cli...

weixin_29159711的博客 1313

Jquery示例

目录 (一).概述 (二).预备条件 (三).代码示例 1. 访问页面元素 2.Dom对象和jQuery对象转换示例 3.访问对象内部元素 4.显示/隐藏元素 5.根据条件查询对象元素集合 6.Document.Ready方法示例 ...

weixin_33881050的博客 185

AJAX触发aspnet控件的C#事件(基于Jquery)

 熟悉asp.net事件机制的人都知道,在aspnet生成的页面里有两个隐藏域。input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />第一个“

锐锋的专栏 2115
上一篇: jQuery 教程 (五) 事件与事件对象1 .NET
下一篇: jQuery 教程 (六) AJAX快餐 .NET
Fanny
博客等级 码龄20年 9粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值