js常用的几种事件,请分别描述一下

在 JavaScript 中,事件(Events)是用户与网页交互时触发的各种行为,比如点击按钮、滚动页面、输入文本等。以下是常用的几种 JavaScript 事件,并分别进行描述:

1. click 事件
描述:当用户点击某个元素(如按钮、链接、图片等)时触发。
常用用途:按钮点击、链接跳转、表单提交等。
例子:

$('#button').click(function() {
    alert('Button clicked!');
});

2. keydown、keypress 和 keyup 事件
描述:
keydown:当按键被按下时触发,且可以捕获到所有的键(包括功能键,如 Shift、Ctrl、Alt 等)。
keypress:当字符键被按下时触发,已被弃用,并且不再支持在某些现代浏览器中捕捉非字符按键(如方向键)。
keyup:当按键松开时触发。
常用用途:表单输入验证、快捷键操作、实时搜索等。
例子:

$('#inputField').keydown(function(event) {
    console.log('Key down: ' + event.key);
});
 
$('#inputField').keyup(function(event) {
    console.log('Key up: ' + event.key);
});

3. focus 和 blur 事件
描述:
focus:当元素获得焦点时触发(例如,点击输入框时)。
blur:当元素失去焦点时触发(例如,点击页面其他地方或按 Tab 键切换到另一个元素时)。
常用用途:表单输入验证、自动补全、样式变更等。
例子:

$('#inputField').focus(function() {
    $(this).css('background-color', '#ffffe0');
});
 
$('#inputField').blur(function() {
    $(this).css('background-color', '#ffffff');
});

 4.mouseover 和 mouseout 事件
描述:
mouseover:当鼠标指针移动到元素上方时触发。
mouseout:当鼠标指针移出元素时触发。
常用用途:鼠标悬停效果、显示/隐藏提示框、动态样式变化等。
例子:

$('#image').mouseover(function() {
    $(this).css('transform', 'scale(1.1)');
});
 
$('#image').mouseout(function() {
    $(this).css('transform', 'scale(1)');
});

5.mouseenter 和 mouseleave 事件
描述:
mouseenter:当鼠标指针进入元素的边界时触发(不会触发子元素的事件)。
mouseleave:当鼠标指针离开元素的边界时触发(同样不会触发子元素的事件)。
常用用途:类似于 mouseover 和 mouseout,但它们只在元素本身上触发,不会因为鼠标在子元素中移动而触发。
例子:

$('#box').mouseenter(function() {
    $(this).css('background-color', '#ffcc00');
});
 
$('#box').mouseleave(function() {
    $(this).css('background-color', '#ffffff');
});

 6.submit 事件
描述:当表单被提交时触发。此事件在表单提交前触发,因此可以用于表单验证。
常用用途:表单验证、表单数据提交等。
例子:

$('#myForm').submit(function(event) {
    event.preventDefault(); // 阻止表单默认提交行为
    alert('Form submitted!');
});

 7.change 事件
描述:当元素的值发生变化时触发,常用于输入框、下拉框、单选框等元素的值变化。
常用用途:动态更新内容、表单数据处理、用户选择响应等。
例子:

$('#dropdown').change(function() {
    var selectedValue = $(this).val();
    alert('Selected: ' + selectedValue);
});

8.. input 事件
描述:当输入框内容发生改变时触发,适用于文本框、文本域等元素,通常用于实时更新内容。
常用用途:实时验证、动态搜索、输入框的值监控等。
例子:

$('#searchInput').input(function() {
    var query = $(this).val();
    console.log('Searching for: ' + query);
});

 9.resize 事件
描述:当浏览器窗口或元素的尺寸发生变化时触发。
常用用途:响应式布局、动态调整页面内容等。
例子:

$(window).resize(function() {
    console.log('Window resized!');
});

 10.scroll 事件
描述:当页面或元素发生滚动时触发。
常用用途:懒加载、显示返回顶部按钮、滚动效果等。
例子:

$(window).scroll(function() {
    if ($(window).scrollTop() > 100) {
        $('#backToTop').fadeIn();
    } else {
        $('#backToTop').fadeOut();
    }
});

11. load 事件
描述:当页面、图片、iframe 或其他资源完全加载完成时触发。
常用用途:资源加载后执行某些操作,如初始化组件或显示加载动画等。
例子:

$(window).load(function() {
    console.log('Page is fully loaded!');
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值