更改:活动伪类'使用jQuery的样式
Change :active pseudo-class' style with jQuery
我正在开发一些CSS编辑器,并希望在单击<button>
时提供更改样式的功能。以下代码不会将background-color
更改为黄色。
http://jsfiddle.net/65erbrhh/
$('a').click(function() {
event.preventDefault();
$('button:active').css('background-color', 'yellow');
});
编辑:在我的情况下,我不能为按钮分配特定的类,因为它是用户自定义的html
由于不能根据CSS状态选择元素,因此可以选择在元素中添加一个类:
更新示例
$('a').click(function (e) {
e.preventDefault();
$('button').addClass('active-style');
});
button.active-style:active {
background-color: yellow;
}
但是,既然您说不能这样做,您也可以为mousedown
/mouseup
事件附加一个事件侦听器,并相应地更改背景颜色:
更新示例
$('a').click(function () {
event.preventDefault();
$('button').on('mousedown mouseup', function (e) {
$(this).css('background-color', e.type === 'mousedown' ? 'yellow' : '');
});
});
但是,如果您希望示例在button
元素的外部运行mouseup
,则需要监听所有mouseup
事件:
更新示例
$('a').click(function (e) {
e.preventDefault();
$('button').addClass('active-style');
});
$(document).on('mousedown mouseup', function (e) {
var color = (e.type === 'mousedown' && $(e.target).hasClass('active-style')) ? 'yellow' : '';
$('button.active-style').css('background-color', color);
});
相关文章:
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何在Angular2中使用jQuery插件
- 如何使用jQuery选择下拉列表的值
- 使用JQuery解析JSON嵌套数组
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何使用jquery处理php循环通过元素
- 使用jquery将mysql数据获取到新的表行中
- 如何使用jquery Validation验证Formspread
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 使用jQuery动态添加表并在其中动态添加行
- 使用jquery在单击时在单元格中输入值
- 如何使用jQuery在动画中期加速动画
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 使用JQuery的动态上下文菜单
- 使用jQuery以红色和黑色闪烁文本
- 如何使用jquery更改html中的背景颜色
- 使用jQuery从原始页面内容创建iframe