首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反向onClick事件onClick

反向onClick事件onClick
EN

Stack Overflow用户
提问于 2015-04-06 21:51:35
回答 3查看 2.7K关注 0票数 1

是否有人知道如何将onClick分配给执行一个操作的对象,然后当用户单击同一个对象时,操作就会反转?

代码语言:javascript
复制
$('#image').click(function() {
    $('#foo').css({
        'background-color': 'red',
        'color': 'white',
        'font-size': '44px'
    });
});

因此,单击#image会将更改添加到#foo或反向更改。

小提琴:http://jsfiddle.net/Sx5yH/804/

有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-06 21:56:42

不要直接使用内联样式进行操作,这不是非常灵活的方法。相反,您希望切换包含必要样式的类:

代码语言:javascript
复制
$('#image').click(function() {
    $('#foo').toggleClass('active');
});

其中,类active的定义如下:

代码语言:javascript
复制
#foo.active {
    background-color: red;
    color: white;
    font-size: 44px;
}

演示: http://jsfiddle.net/Sx5yH/812/

票数 5
EN

Stack Overflow用户

发布于 2015-04-06 21:56:37

特别是在您的情况下--最好给对象分配一个类。然后可以使用jquery切换功能添加/删除样式。

CSS

代码语言:javascript
复制
#image.selected {
       background-color: red;
       color: white;
       font-size: 44px;
}

JavaScript

代码语言:javascript
复制
$('#image').click(function() {
    $('#image').toggleClass("selected");
});
票数 4
EN

Stack Overflow用户

发布于 2015-04-06 21:59:13

http://jsfiddle.net/gb0udnft/1/

您可以使用布尔值来确定它是否已被单击,然后使用三元语句执行任何操作,这取决于它是真还是假。

代码语言:javascript
复制
(boolean) ? true : false;

您还可以使用先天的JQuery切换()函数

http://jsfiddle.net/gb0udnft/2/

代码语言:javascript
复制
    $('#image').toggle(function() {
    // do whatever 
       }
      , function() {
       // do whatever
});

或者使用.toggleClass()、.addClass()或.removeClass()来回使用css类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29480285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档