1.JS事件的基本知识

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js事件基本知识</title> <script type="text/javascript" src="js/jQuery.js"></script>
<script type="text/javascript"> //这个事件可以添加到第一个button标签上,因为第一个button标签知道fn1是什么.
function fn1() {
alert("fn1");
} //这段代码不会被执行,因为页面是从上往下执行,在这里获取不到"#i1".
//如果想要解决这个问题,可以将下面的这些代码放到body后面.
var obj = document.getElementById("i1");
obj.onclick = function () {
alert("fn2"); //不能直接给对象添加已有事件,必须在将已有的事件添加到DOM对象的新的方法中.
fn1();
} </script>
</head>
<body> <input type="button" class="dd" value="点击我" onclick="fn1();">
<input type="button" class="dd" id="i1" value="点击我"> </body>
</html>

JS事件的学习和JS方法的学习揉杂在一起,JS相对于Java等语言,方法定义和使用上比较随意和简单,但是还是有一些区别,需要理清楚.

2.jQuery方式绑定事件

//jQuery方式绑定事件
$(function () {
var obj = $(".dd"); obj.click(function () {
alert("jQuery方式");
})
})

这里多多赘述一点,由于jQuery可以理解为是对JS的一种高级封装,这种封装是单向的,所以我们可以在JS中加入jQuery代码块,但是不能将JS和jQuery完全地揉杂在一起,所以对于jQuery的块状代码必须放入到一个分离的jQuery块中.

对于jQuery的绑定事件的方法,这里只举例click()方法,其他的方法查阅jQuery的文档即可.

3.事件操作和委派

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件操作和委派</title> <script type="text/javascript" src="js/jQuery.js"></script>
<script type="text/javascript"> $(function () { //间接绑定:bind.
//间接绑定,普通情况下,这种绑定方式是多余的.
//给一个或多个事件绑定函数.
$("input").bind("click", function () {
alert("bind间接绑定事件");
}); //委派绑定:live
$(".dd").live("click", function () {
alert("live委派绑定事件");
}); //我在这里新添加一个标签
//对于这种用JS新添加的标签,间接绑定的事件对这种标签没有用处.
//对于这种用JS新添加的标签,委派绑定的事件会给符合条件的标签添加事件.
$("body").append("<input type='button' class='dd' value='我是方法生成的标签,点击我''>");
}) </script>> </head>
<body>
<input type="button" class="dd" value="点击我"> </body>
</html>

不论是bind绑定还是live绑定,都是间接绑定

4.事件切换

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件的切换</title> <style>
.hover {
background: aqua;
}
</style> <script type="text/javascript" src="js/jQuery.js"></script>
<script type="text/javascript"> $(function () {
//需求:鼠标覆盖变色,鼠标移走恢复
$("#d1").hover(
//鼠标覆盖
function () {
$("#d1").addClass("hover");
},
//注意上面有一个逗号 //鼠标移走
function () {
$("#d1").removeClass("hover");
}
);
}) </script> </head>
<body> <div style="border:1px solid black; width: 100px; height: 100px" id="d1">
Hello hover!
</div> </body>
</html>

在jQuery开发文档中,hover()函数归类到了事件切换中,对于hover()函数的事件切换的定义,仅限于鼠标的覆盖和移走两个操作,上面是一个标准的事件切换代码.

jQuery事件学习的更多相关文章

  1. jquery事件学习笔记(转载)

    一.页面载入1.ready(fn)当DOM载入就绪可以查询及操纵时绑定一个要执行的函数.这是事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度. 简单地说,这个方法纯粹是对向wi ...

  2. jQuery源代码学习之九—jQuery事件模块

    jQuery事件系统并没有将事件坚挺函数直接绑定在DOM元素上,而是基于事件缓存模块来管理监听函数的. 二.jQuery事件模块的代码结构 //定义了一些正则 // // //jQuery事件对象 j ...

  3. 深入学习jQuery事件对象

    × 目录 [1]获取 [2]事件类型 [3]事件目标[4]当前元素[5]事件冒泡[6]默认行为[7]命名空间[8]返回值[9]键值 前面的话 在触发DOM上的某个事件时,会产生一个事件对象event, ...

  4. 深入学习jQuery事件绑定

    × 目录 [1]bind [2]trigger [3]delegate[4]on[5]one 前面的话 javascript有HTML.DOM0级.DOM2级和IE这四种事件处理程序,而jQuery对 ...

  5. 4月12日学习笔记——jQuery事件

    下面是在 jQuery 中最常使用的 bind()方法举例:$("#testDiv4").bind("click", showMsg); 我们为 id 是 te ...

  6. jquery基础学习之事件篇(三)

    一.鼠标事件 click 单击 与 dbclick 双击 用于监听用户的点击操作,在同一元素上同时绑定 click 和 dblclick 事件是不可取的...根据浏览器支持不同一个点击事件是由mous ...

  7. 【总结整理】JQuery基础学习---事件篇

    jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是点击操作.jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于 ...

  8. jquery 深入学习笔记之中的一个 (事件绑定)

    [jquery 事件绑定] 1.加入元素事件绑定 (1) 加入事件为当前元素 $('p').on('click',function(){ //code here ... }); (2) 加入事件为未来 ...

  9. jQuery事件与事件对象

    事件是脚本编程的灵魂,本篇来介绍jQuery中的事件处理及事件对象. 事件与事件对象 首先,我们来看一下经常使用的添加事件的方式: <input type="button" ...

随机推荐

  1. async:false;渲染阻塞

    当我想让一个节点show()完以后再ajax获取数据进行操作: $("#outerdiv2").show(); $.ajax({}): 如果此时ajax里设置了async:fals ...

  2. angluar1时间控件,在浏览器里是没有问题的,但是真机时间报错NAN

    因为是老项目并且用的angluar1有时也会很头疼没法直接打包和手机联调,所以浏览器上测试的多但是真机和浏览器还是不一样的,废话不说了,看图吧 我的时间插件代码是这样的 后台返回的数据格式是这样的 , ...

  3. icons 在线网站

    icons https://www.iconfinder.com/ http://v3.bootcss.com/components/ http://fontawesome.io/icons/ htt ...

  4. C代码通过编译器编译成可执行文件, 需经历 预处理、编译、汇编、链接 四个阶段

    内容借鉴 于yqzheng 一.预处理 1.任务: 进行宏定义展开.头文件展开.条件编译, 不检查语法 2.命令: gcc -E [源文件] -o [预处理文件] gcc -E hello.c -o ...

  5. poj 1141 Brackets Sequence 区间dp,分块记录

    Brackets Sequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 35049   Accepted: 101 ...

  6. websocket初识

    一.官网 官网地址:http://www.websocket.org/ 二.websocket初识demo <input id="sendTxt" type="te ...

  7. 010 Editor 8.0.1 之 暴力破解

    一.工具及软件介绍二.破解1.打开调试程序2.打开注册页面3.在弹出窗口API中下断4.点击注册按钮5.逐一进去观察6.找到正确的授权字符串7.找到函数头8.找到计算出EBX的CALL9.进入函数跟踪 ...

  8. VSCode的使用

    前后端分离的,先打开vs,打开你的项目,在项目根目录中找到.vs文件加,找到.vs\config\applicationhost.config,然后打开找到你项目的IIS Express配置,例如:& ...

  9. java搭建SSM的Web开发框架-整合这3者用到的配置文件

    1./WEB-INF/web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmln ...

  10. springmvc webservlet 加redis 订阅消息

    由于项目内请求的数据需要 等待设备处理完毕后返回才能得到.请求命令返回的是发送成功的包,而不是设备处理的包,所以需要请求等待.. 方式一:项目中 添加了redis作为一个缓存, webservlet ...