var foo = true;
// foo here is not being updated when set to false
if(foo) {
// and this will always work
$("#bar").on("click", function() {
alert("hello");
});
}
$("#set").on("click", function() {
alert("foo is now false");
foo = false;
});
<p id="bar">bar</p>
<input type="button" id="set" value="set to false" />
如果我把if(foo)
里面的功能,它工作正常。
但是这里的情况是多个鼠标动作要检查的条件更多,我必须if
为每个动作编写相同的检查......
$("#bar").on("mouseover", function() {
if(foo && bar && baz && qux) {
// do job A
}
}).on("mouseout", function() {
if(foo && bar && baz && qux) {
// do job B
}
}).on("click", function() {
if(foo && bar && baz && qux) {
// do job C
}
}).on("dblclick", function() {
if(foo && bar && baz && qux) {
// do job D
}
});
那么我怎样才能if
用更新的 foo 编写唯一一次来完成这项工作呢?在这里摆弄