首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用onclick调用一个函数,并在该函数中使用onclick调用另一个函数

使用onclick调用一个函数,并在该函数中使用onclick调用另一个函数
EN

Stack Overflow用户
提问于 2014-07-02 10:59:08
回答 3查看 56关注 0票数 0

我正在尝试使用onclick调用一个函数,但此函数已经在通过onclick调用的另一个函数中。

实际上,我想继续这样做6-7次。

代码可能有助于减少混淆:

HTML+JS:

代码语言:javascript
复制
{
<body>
<script type="text/javascript">

function abc()
{
    document.getElementById("first").className='disc';
    document.getElementById("first").onClick="def();";
}
function def()
{
    document.getElementById("first").className='disco';
}

</script>
<input type="button" value="Change Color of this text" id="first" class="" onclick="abc();">
</body>

}

CSS:

代码语言:javascript
复制
.disc 
{
    color: red;
}
.disco
{
    color: yellow;
}

我想在每次用户点击按钮时改变文本的颜色。那么问题出在哪里呢?它只是变成红色,但当我再次点击它时,它不会变成黄色。

EN

回答 3

Stack Overflow用户

发布于 2014-07-02 11:16:09

我认为根据你在评论中的要求,这应该适用于你:

Javascript

代码语言:javascript
复制
function abc(){
    if(document.getElementById("first").className == "" || document.getElementById("first").className == "disco"){
        document.getElementById("first").className = "disc";
    }
    else if(document.getElementById("first").className=="disc"){
        document.getElementById("first").className="disco";
    }    
}

您不需要更改HTML和css中的任何内容。

票数 0
EN

Stack Overflow用户

发布于 2014-07-02 11:16:16

而不是将函数从abc()更改为def(),我不确定您是否可以这样做。为什么不使用1个函数并检查当前的className,如下面的代码所示:

代码语言:javascript
复制
function abc()
{
    if(document.getElementById("first").className == "disco" || document.getElementById("first").className == "") //change from red to yellow
       document.getElementById("first").className="disc";
    else //change from yellow to red
       document.getElementById("first").className="disco"; 
}
票数 0
EN

Stack Overflow用户

发布于 2014-07-02 11:16:42

代码语言:javascript
复制
var first = document.getElementById("first"), counter = 0;
first.addEventListener('click', function () {
    first.className = (counter % 2) ?  'disc' : 'disco';
    counter +=1;
});

http://jsfiddle.net/fNW23/

修复代码和更可靠的解决方案。

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

https://stackoverflow.com/questions/24522194

复制
相关文章

相似问题

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