主要介绍了JavaScript中的事件、常用库 jQuery、setTimeout与setInterval,可以当作学习笔记收藏一下!!!
前言
主要介绍了JavaScript中的事件、常用库 jQuery、setTimeout与setInterval,可以当作学习笔记收藏一下!!!
事件
JavaScript的代码一般通过事件触发。
可以通过addEventListener函数为元素绑定事件的触发函数。
常见的触发函数有:
鼠标
- click:鼠标左键点击
- dblclick:鼠标左键双击
- contextmenu:鼠标右键点击
- mousedown:鼠标按下,包括左键、滚轮、右键
- event.button:0表示左键,1表示中键,2表示右键
- mouseup:鼠标弹起,包括左键、滚轮、右键
- event.button:0表示左键,1表示中键,2表示右键
键盘
- keydown:某个键是否被按住,事件会连续触发
- event.code:返回按的是哪个键
- event.altKey、event.ctrlKey、event.shiftKey分别表示是否同时按下了alt、ctrl、shift键。
- keyup:某个按键是否被释放
- event常用属性同上
- keypress:紧跟在keydown事件后触发,只有按下字符键时触发。适用于判定用户输入的字符。
- event常用属性同上
keydown、keyup、keypress的关系类似于鼠标的mousedown、mouseup、click
表单
- focus:聚焦某个元素
- blur:取消聚焦某个元素
- change:某个元素的内容发生了改变
窗口
需要作用到window元素上。
- resize:当窗口大小放生变化
- scroll:滚动指定的元素
- load:当元素被加载完成
常用库
jQuery
使用方式
- 在<head>元素中添加:
<script src="https://cdn.acwing.com/static/jquery/js/jquery-3.3.1.min.js"></script> - 按jQuery官网提示下载
选择器
$(selector),例如:
$('div');
$('.big-div');
$('div > p')
selector类似于CSS选择器。
事件
$(selector).on(event, func)绑定事件,例如:
$('div').on('click', function (e) {
console.log("click div");
})
$(selector).off(event, func)删除事件,例如:
$('div').on('click', function (e) {
console.log("click div");
$('div').off('click');
});
当存在多个相同类型的事件触发函数时,可以通过click.name来区分,例如:
$('div').on('click.first', function (e) {
console.log("click div");
$('div').off('click.first');
});
在事件触发的函数中的return false等价于同时执行:
- e.stopPropagation():阻止事件向上传递
- e.preventDefault():阻止事件的默认行为
元素的隐藏、展现
- $A.hide():隐藏,可以添加参数,表示消失时间
- $A.show():展现,可以添加参数,表示出现时间
- $A.fadeOut():慢慢消失,可以添加参数,表示消失时间
- $A.fadeIn():慢慢出现,可以添加参数,表示出现时间
function main(){
let $div = $("div");
let $hiddenButton = $("#hidden-button");
let $showButton = $("#show-button");
$hiddenButton.on("click",function(){
$div.hide();
});
$showButton.on("click",function(){
$div.show();
});
}
export {
main
}
元素的添加、删除
- $('<div class="mydiv"><span>Hello World</span></div>'):构造一个jQuery对象
- $A.append($B):将$B添加到$A的末尾
- $A.prepend($B):将$B添加到$A的开头
- $A.remove():删除元素$A
- $A.empty():清空元素$A的所有儿子
$div.on("click",function(){
let $a = $(`
<a href = \"https://www.baidu.com\">
baidu
<span>!!!!</span>
</a>
`);
$div.append($a);
});
对类的操作
- $A.addClass(class_name):添加某个类
- $A.removeClass(class_name):删除某个类
- $A.hasClass(class_name):判断某个类是否存在
对CSS的操作
- $("div").css("background-color"):获取某个CSS的属性
- $("div").css("background-color","yellow"):设置某个CSS的属性
- 同时设置多个CSS的属性:
$('div').css({
width: "200px",
height: "200px",
"background-color": "orange",
});
对标签属性的操作
$('div').attr('id'):获取属性
$('div').attr('id', 'ID'):设置属性
对HTML内容、文本的操作
不需要背每个标签该用哪种,用到的时候Google或者百度即可。
$A.html():获取、修改HTML内容
$A.text():获取、修改文本信息
$A.val():获取、修改文本的值
查找
- $(selector).parent(filter):查找父元素
- $(selector).parents(filter):查找所有祖先元素
- $(selector).children(filter):在所有子元素中查找
- $(selector).find(filter):在所有后代元素中查找
ajax
GET方法:
$.ajax({
url: url,
type: "GET",
data: {
},
dataType: "json",
success: function (resp) {
},
});
POST方法:
$.ajax({
url: url,
type: "POST",
data: {
},
dataType: "json",
success: function (resp) {
},
});
setTimeout与setInterval
setTimeout(func, delay)
delay毫秒后,执行函数func()。
clearTimeout()
关闭定时器,例如:
let timeout_id = setTimeout(() => {
console.log("Hello World!")
}, 2000); // 2秒后在控制台输出"Hello World"
clearTimeout(timeout_id); // 清除定时器
setInterval(func, delay)
每隔delay毫秒,执行一次函数func()。
第一次在第delay毫秒后执行。
clearInterval()
关闭周期执行的函数,例如:
let interval_id = setInterval(() => {
console.log("Hello World!")
}, 2000); // 每隔2秒,输出一次"Hello World"
clearInterval(interval_id); // 清除周期执行的函数
总结
主要介绍了JavaScript中的事件、常用库 jQuery、setTimeout与setInterval,可以当作学习笔记收藏一下!!!