首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的javascript函数被完全忽略了?(非常简单的例子)

为什么我的javascript函数被完全忽略了?(非常简单的例子)
EN

Stack Overflow用户
提问于 2015-05-22 10:55:56
回答 3查看 128关注 0票数 2

我有两个按钮。保存并撤销。他们执行javascript,最后他们调用resetButtons(),这意味着禁用按钮,直到用户输入发生任何其他更改。这段代码已经工作了一年多了,但是在实现一些新特性的同时,这个特性已经失效了。

下面是代码的直接片段:

代码语言:javascript
复制
function undo(){
    var r = confirm("Are you sure you want to cancel your inputs?");
    if (r == true) {
        setLoadedValues();  //calls in the cached previous values
        updateAllBoxValues();  //updates view
        console.log("before resetting buttons");
        resetButtons();
        console.log("after resetting buttons");
    }
}

function resetButtons(){
    console.log("resetting buttons");
    $(".save").addClass("disabled");
    $('.save').attr('disabled', 'disabled');
    $(".undo").addClass('disabled');
    $('.undo').attr('disabled', 'disabled');
    console.log("done resetting buttons");
}

这提供了以下输出:

代码语言:javascript
复制
before resetting buttons
after resetting buttons

我怀疑括号中有错误的格式设置,但这是代码的直接片段,如果undo()有效,那么resetButtons()也应该这样做,对吗?另外,我应该得到一个未定义的函数,或者一个无法预料的输入端,或者类似的东西(如果是这样的话)。单击“保存”按钮时,对resetButtons的调用也会被忽略。我迷路了。帮助?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-22 11:42:50

您有一个重复的函数定义。给其中一个改名。

票数 3
EN

Stack Overflow用户

发布于 2015-05-22 11:33:52

您的代码看起来很好,您必须在其他地方出现其他错误(比如一个名为这两个函数的函数)。

顺便提一下,我建议使用jQuery的“支柱”方法来更改禁用的属性:

代码语言:javascript
复制
$('foo').prop('disabled', true);

$('foo').prop('disabled', false);
票数 1
EN

Stack Overflow用户

发布于 2015-05-22 11:46:08

尝试触发控制台中的resetButton()函数,如果出现问题,应该返回它。在随机控制台中测试它可以得到它应该有的所有日志,但我不能为选择器提供担保。错误可能在代码的其他地方。

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

https://stackoverflow.com/questions/30394885

复制
相关文章

相似问题

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