如果我有以下代码;
if (x == "0")
{
$("input:checkbox").parent().mouseover(function () {
//Some code
}
}
我的问题是代码是否会在每次鼠标悬停时执行或者首先检查x ==“0”条件然后触发?
换句话说,$("input:checkbox").parent().mouseover()
代码是类似于bind()或live()函数(每次在该事件上被触发)获得的代码,并且“x”的封闭条件获胜没关系?
我们有什么方法可以将事件与“x”条件联系起来,例如只有当x为真时限制它的范围?
我不确定我的问题是否真的有效。但如果你能澄清一下,那将是非常好的。
答案 0 :(得分:2)
我的问题是代码是否会在每次鼠标悬停时执行或者它将会执行 首先检查x ==“0”条件,然后开火?
如果在编写此代码时x ==“0”,它将在每次鼠标悬停时执行。
如果您只想在x ==“0”时执行一段代码,请尝试
var x = "0"; // or any other value.
$("input:checkbox").parent().mouseover(function () {
if(x == "0") {
// code goes here
}
}
答案 1 :(得分:2)
第一次x具有值= 0时将附加事件。然后它将在每个onMousehover上执行,如果x不同于0,则可以分离事件。
if (x == "0")
{
$("input:checkbox").parent().mouseover(function () {
//Some code
} else {
$("input:checkbox").parent().unbind('mouseover');
}
答案 2 :(得分:1)
一旦附加了鼠标悬停事件,它将触发而不管X.您可以通过检查回调函数中的X来获得您正在寻找的效果。
var x = 0;
$("input:checkbox").parent().mouseover(function () {
if(x != 0) { return; }
// some code
}