if( $('.element[value!=""]').length === 1 ) {
$(".element").css({"width":"50px"});
}
我想这样做一次,独立于初始点击触发器。目前,每次调用if语句时,都会触发css更改。
提前非常感谢。
答案 0 :(得分:3)
var fired = false;
if( ($('.element[value!=""]').length === 1) && !fired) {
$(".element").css({"width":"50px"});
fired = true;
}
或者从触发此操作的任何元素中删除单击处理程序。它会触发一次,删除点击处理程序,然后就不能再触发了。
答案 1 :(得分:0)
有许多可能的解决方案,但如果没有看到条件的背景,我就不可能建议最好的方法。话虽如此,根据您在此处发布的内容,我将实现一个简单的变量来保存触发器状态,然后实现if语句的条件:
var foo = false; //foo is more terse ;-)
if( $('.element[value!=""]').length === 1 && !foo) {
$(".element").css({"width":"50px"});
foo = true;
}