如果没有点击按钮,如何运行功能?

时间:2014-02-28 23:27:28

标签: javascript jquery

$("#RunCode").click(function(){
    var $this = $(this);
    if($this.data('clicked')) {
        console.log("Is clicked");
        $(".documentWrite").text("Is clicked");
    } else {
        $this.data('clicked', true);
        console.log("Is not clicked");
        $(".documentWrite").text("Is NOT clicked");
    }
});

jsFiddle

当我点击按钮时,我得到“未点击”,如果我再次点击,我会“点击”
单击按钮时为什么会得到取消单击的代码?

1 个答案:

答案 0 :(得分:2)

引用OP:

  

"为什么我在点击按钮时会收到取消隐藏的代码?"

因为条件逻辑存在缺陷。

$("#RunCode").click(function(){
    var $this = $(this);
    if($this.data('clicked')) { //<- FAILS on first click. 'data' is not yet set.
        console.log("Is clicked");
        $(".documentWrite").text("Is clicked");
    } else {
        $this.data('clicked', true);
        console.log("Is not clicked");
        $(".documentWrite").text("Is NOT clicked");
    }
});

第一次点击时data 'clicked' true不是true;首次点击时,您只能 设置 click


引用OP:

  

&#34;如果没有点击按钮,如何运行功能?&#34;

这甚至意味着什么?您提交给我们的代码完全包含在{{1}}事件处理函数中。换句话说,该函数仅取决于实际发生的单击事件。 (它无法在没有点击的情况下运行)

如果您不想在点击时运行该功能,那么如何?