$("#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");
}
});
当我点击按钮时,我得到“未点击”,如果我再次点击,我会“点击”。
单击按钮时为什么会得到取消单击的代码?
答案 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}}事件处理函数中。换句话说,该函数仅取决于实际发生的单击事件。 (它无法在没有点击的情况下运行)
如果您不想在点击时运行该功能,那么如何?