
Radio点击事件调整样式
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本教程详细介绍了如何通过JavaScript或CSS来响应和调整网页中Radio按钮的点击事件,实现动态改变页面样式的功能。适合前端开发者学习参考。
在本段落中,我们将深入探讨如何使用JavaScript和jQuery来实现单选按钮(radio)的点击事件以改变其样式。示例代码涉及两个主要功能函数:`activeRadio()` 和 `activeRadioBySelector()`, 以及一个回调函数`alertValue()`。
首先来看`activeRadio()` 函数,它的任务是初始化页面上所有 `
` 内包含的单选按钮(通过 `.radiodiv` 选择器定位)。具体来说,它会检查每个单选按钮是否被选中,并根据其状态添加或移除 `checked` 类。这个类通常用于改变单选按钮的视觉表示。
```javascript
function activeRadio() {
$(.radiodiv).each(function(){
var checked = $(this).find(input).prop(checked);
if (checked) {
$(this).find(.radiostatus).addClass(checked);
} else {
$(this).find(.radiostatus).removeClass(checked);
}
});
$(.radiodiv).on(click, function() {
var checked = $(this).find(input).prop(checked);
var name = $(this).find(input).attr(name);
if (checked) {
$(this).find(input).prop(checked, false);
$(this).find(.radiostatus).removeClass(checked);
} else {
$(this).find(input).prop(checked, true);
$(this).find(.radiostatus).addClass(checked);
// 如果单选按钮被点击后变为已选中,其他相同名称的单选按钮将自动取消选择。
$(this).siblings().find(input[name= + name + ]).prop(checked, false);
$(this).siblings().find(.radiostatus).removeClass(checked);
}
});
}
```
`activeRadioBySelector(selector, callback)` 函数则提供了一种更灵活的方式,仅对符合特定 CSS 选择器的单选按钮进行操作。这有助于在复杂布局中控制单选按钮的行为而不影响其他区域。
```javascript
function activeRadioBySelector(selector, callback) {
var selector = selector + .radiodiv;
$(selector).each(function(){
var checked = $(this).find(input).prop(checked);
if (checked) {
$(this).find(.radiostatus).addClass(checked);
} else {
$(this).find(.radiostatus).removeClass(checked);
}
});
$(selector).on(click, function() {
var checked = $(this).find(input).prop(checked);
var name = $(this).find(input).attr(name);
if (checked) {
$(this).find(input).prop(checked, false);
$(this).find(.radiostatus).removeClass(checked);
callback(this);
} else {
$(this).find(input).prop(checked, true);
$(this).find(.radiostatus).addClass(checked);
// 如果单选按钮被点击后变为已选中,其他相同名称的单选按钮将自动取消选择。
$(this).siblings().find(input[name= + name + ]).prop(checked, false);
$(this).siblings().find(.radiostatus).removeClass(checked);
callback(this);
}
});
}
function alertValue(that) {
var checked = $(that).find(input).prop(checked);
var name = $(that).find(input).attr(name);
if (checked) {
var value = $(that).find(input).val();
alert(已选中: + name + , 值: + value);
} else {
alert(已取消选中: + name);
}
}
```
`alertValue()` 函数在单选按钮被点击时,会弹出一个警告框显示当前选中的或未选中的单选按钮的名称和值。这对于调试或用户交互反馈非常有用。
HTML 部分可能包含如下代码:
```html
```
这段代码通过将样式和逻辑分离,使得单选按钮的点击事件管理和视觉效果控制变得更加灵活且易于维护。使用 jQuery 简化了 DOM 操作,提高了代码的可读性和效率。
女
男
全部评论 (0)
还没有任何评论哟~


