网站首页 > 教程分享 正文
在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-10-17 jQuery基础教程学习笔记(九)常用工具函数(最后一节)
- 2024-10-17 【老兵不朽】时隔1年、jQuery再发新版
- 2024-10-17 用原生 JavaScript 实现十大 jQuery 函数
- 2024-10-17 如何批量删除新浪微博内容?(新浪微博app怎么批量删除微博)
- 2024-10-17 jQuery 遍历- 过滤(jquery遍历li)
- 2024-10-17 4、JQuery 的常用的方法增、删、复制、改、查(必会)
- 2024-10-17 竟然还在更新?jQuery 3.6.1 更新发布
- 2024-10-17 那些年,我们一起"追"过的Jquery
- 2024-10-17 重走JAVA编程路,DOM操作的强大封装类库:Jquery
- 2024-10-17 jQuery事件的解绑和触发(jquery中绑定和解绑的事件有哪些)
你 发表评论:
欢迎- 最近发表
-
- 有了这份900多页的Android面试指南,你离大厂Offer还远吗?
- K2 Blackpearl 流程平台总体功能介绍:常规流程功能
- 零基础安卓开发起步(一)(安卓开发入门视频)
- 教程:让你的安卓像Windows一样实现程序窗口化运行
- Android事件总线还能怎么玩?(事件总线有什么好处)
- Android 面试被问“谈谈架构”,到底要怎样回答才好?
- Android开发工具Parcel和Serialize
- Android 中Notification的运用(notification widget安卓)
- Android退出所有Activity最优雅的方式
- MT管理器-简单实战-去除启动页(mt管理器怎么去除软件弹窗)
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)