在 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!');
});