网站首页 > 编程文章 正文
在jQuery中都将事件封装为对应的事件方法, 事件方法去掉了on前缀
jQuery对象.事件方法(function(){
//写代码
})
简单事件处理
blur(fn) 在每一个匹配元素的blur事件中绑定一个处理函数
change(fn) 在每一个匹配元素的change事件中绑定一个处理函数
click(fn) 在每一个匹配元素的click事件中绑定一个处理函数
dblclick(fn) 在每一个匹配元素的dblclick事件中绑定一个处理函数
focus(fn) 在每一个匹配元素的focus事件中绑定一个处理函数
mouseover(fn) mouseover事件会在鼠标移入对象时触发
mouseout(fn) mouseout事件在鼠标从元素上离开后会触发
submit(fn) 事件将会在表单提交时触发
keydown(fn) 当键盘按下时
scroll(fn) 当滚动条滚动时
select(fn) 当内容被选中
DOM1级事件设置
<input type="text" onclick="过程性代码" value='tom' />
<input type="text" onclick="函数()"/>
itnode.onclick = function(){}
itnode.onclick = 函数;
DOM2级事件设置
itnode.addEventListener(事件类型, 处理函数, bCapture); //不带on
itnode.removeEventListener(事件类型, 处理函数, bCapture); //不带on
itnode.attachEvent(事件类型, 处理函数);
itnode.detachEvent(事件类型, 处理函数);
jQuery事件设置
$().事件类型(事件处理函数fn); //设置事件
$().事件类型(); //触发事件执行
例如:$(form).submit()可以使得表单进行提交。
事件类型:click、keyup、keydown、mouseover、mouseout、blur、focus等等
例如:$('div').click(function(){事件触发过程this});
(该方式事件函数内部this都代表jquery对象内部的DOM节点对象)。
jQuery调用的大部分方法里边的this关键字都代表其对应的DOM对象。
$("#apple").click(function(){
this代表唯一的一个DOM对象
})
$("li").click(function(){
this分别依次代表每个li的DOM对象
})
this的使用
HTML代码:
<h2>this的使用</h2>
<ul>
<li>red</li>
<li>blue</li>
<li>green</li>
</ul>
jQuery代码:
$(function(){
//click()方法[不局限click方法,包括jquery的大部分方法]本身有遍历机制
//会为每个li都设置click事件
$('li').click(function(){
//this代表每个li的dom对象
alert($(this).html());
});
});
实例:
<html>
<head>
<title>新建网页</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.4.4.js"></script>
<script type="text/javascript">
//页面加载完毕给h2设置click事件
$(function(){
//$().click(function)设置事件
//$().click() 触发事件
$('h2').click(function(){
//this代表dom对象(h2节点对象)
var clr = Math.floor(Math.random()*200);
this.style.backgroundColor = "rgb(0,100,"+clr+")";
});
$('h2').mouseover(function(){
console.log('来了');
});
$('h2').mouseout(function(){
console.log('走了,不送');
});
});
function f1(){
//通过代码形式使得h2的"点击"事件得到"执行"
$('h2').click();
}
</script>
<style type="text/css">
h2 {width:300px; height:200px; background-color:pink;}
</style>
</head>
<body>
<h2>简单事件设置</h2>
<input type="button" value="触发执行" onclick="f1()" />
</body>
</html>
change和keyup使用方法:
$("选择器").change(function(){
}).keyup( function () {
$(this).change();
});
实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery实现的搜索列表过滤</title>
<style>
body {
background: #fff;
font-size: 13px;
}
#wrap {
position: relative;
}
.product-head h1 {
font-size: 14px;
font-family: Arial, Helvetica, sans-serif;
margin-bottom: 3px;
margin-left: 3px;
}
.product-head {
font-size: 12px;
padding: 4px;
background-color: #ccc;
width: 235px;
}
.filterform input {
font-size: 15px;
padding: 3px;
border: 1px solid #999;
}
li {
padding: 5px;
margin: 3px;
list-style: none;
width: 230px;
border-top: 1px solid #ccc;
}
li a {
color: #000;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px
}
ul {
margin: 0;
padding: 0;
}
.clear {
clear: both;
}
</style>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js"></script>
<script>
(function($) {
jQuery.expr[':'].Contains = function(a, i, m) {
return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
function filterList(header, list) {
var form = $("<form>").attr({
"class": "filterform",
"action": "#"
}),
input = $("<input>").attr({
"class": "filterinput",
"type": "text"
});
$(form).append(input).appendTo(header);
$(input)
.change(function() {
var filter = $(this).val();
if (filter) {
$matches = $(list).find('p:Contains(' + filter + ')').parent();
$('li', list).not($matches).slideUp();
$matches.slideDown();
} else {
$(list).find("li").slideDown();
}
return false;
})
.keyup(function() {
$(this).change();
});
}
$(function() {
filterList($("#form"), $("#list"));
});
}(jQuery));
</script>
</head>
<body>
<noscript>
<div id="noscript">需要开启浏览器的JavaScript功能才能查看更多效果!</div>
</noscript>
<div id="container">
<div id="wrap">
<div class="product-head">
<h1>搜索</h1>
<div id="form"></div>
<div class="clear"></div>
</div>
<ul id="list">
<li>
<p href="#/Apple/">html</p>
</li>
<li>
<p href="#/Broccoli/">css</p>
</li>
<li>
<p href="#/Carrot/">javascript</p>
</li>
<li>
<p href="#/Celery/">jQuery</p>
</li>
<li>
<p href="#/Lettuce/">less</p>
</li>
<li>
<p href="#/Mushroom/">sass</p>
</li>
<li>
<p href="#/Onion/">php</p>
</li>
</ul>
</div>
</body>
</html>
猜你喜欢
- 2024-09-10 前端程序员要学习的html前端页面的优化方法
- 2024-09-10 如何加载jquery(如何加载字体)
- 2024-09-10 jQuery 功能扩展(jquery的功能)
- 2024-09-10 jquery是干什么的--乐字节前端(jqueryui是干什么的)
- 2024-09-10 超全面!这可能是最全面的 jQuery 知识总结
- 2024-09-10 分享一个通用代码——飘窗(兼容各种浏览器)
- 2024-09-10 jQuery 处理表单元素的值(jquery操作表单)
- 2024-09-10 JavaScript入门系列:基础知识与语法整理笔记
- 2024-09-10 JS类库Jquery(一):JQuery入门,优雅的使用JQuery
- 2024-09-10 初步认识,JavaScript的超级库jQuery
你 发表评论:
欢迎- 06-24一个老爸画了超级有爱的365幅画 | 父亲节献礼
- 06-24产品小白看魏则西事件——用产品思维审视百度推广
- 06-24某教程学习笔记(一):13、脚本木马原理
- 06-24十大常见web漏洞——命令执行漏洞
- 06-24初涉内网,提权那些事(内网渗透提权)
- 06-24黑客命令第16集:47种最常见的**网站方法2/2
- 06-24铭说 | 一句话木马的多种变形方式
- 06-24Java隐藏的10倍效率技巧!90%程序员不知道的魔法方法(附代码)
- 最近发表
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)