如果忽略条件 JQuery
if ignores the condition JQuery
我正在尝试设置一个只能单击一次的div,但是我的if一直忽略了条件,我真的不知道为什么。
$(document).ready(function() {
var defaultState = true;
if (defaultState) {
defaultState = false;
$("#element").click(function() {
//Do stuff to elements
}
});
我尝试用不同的方式解决它。我希望这个条件只用另一个div的上下文填充一个div,但只有一次。所以我尝试将条件设置为这样:if($("#element").html().length === 0)
我什至在控制台上检查了我的条件值,即使它是 5000,显然不再是 0,它一直忽略我的条件并进入 if。
绑定单击处理程序后,它就会被绑定。从那时起,直到您取消绑定它,将始终触发该处理程序。
听起来one()
就是您要找的:
$('#element').one('click', function() {
//...
});
这只会触发一次。
事件处理程序在 document.ready 运行后,第一次就已附加。
你可以只使用 jQuery .one()
事件处理程序。jQuery .one() 文档
$("#element").one('click', function() {
//Do stuff to elements
});
$(document).ready(function() {
$("#element").one('click', function() {
//Do stuff to elements
});
});
或
$("#element").on('click', function(){
//Do what you want
});
//Later in your code
$("#element").off('click');
如果您设置为使用标志变量,您也可以这样做:
$(document).ready(function() {
var defaultState = true;
$("#element").click(function(e) {
if (defaultState) {
//Do what you want
}
defaultState = false;
}
});
添加事件侦听器后$("#element").click(function() {
它将绑定到该元素。但是你可以做些什么来把你的if
放在点击函数中,并在if
内给你的标志变量false
。优点是您可以再次给变量true
,然后单击将"再次"运行。
$(document).ready(function () {
var defaultState = true;
$("#element").click(function () {
if (defaultState) {
defaultState = false;
//Do stuff to elements
} else {
return false;
}
});
});
相关文章:
- jQuery条件为true,但它'it’’我没有犯
- jQuery条件选择问题
- text()的jQuery条件语句(三元)
- 当满足javascript/jquery条件时显示DIV(包括jsFiddle链接)
- JQuery 条件 preventDefault() 在未调用时触发
- jQuery 条件,用于检查类,如果它包含该类,则执行
- 奇怪的Javascript/JQuery条件语句行为
- 检查是否所有输入字段都具有值 jQuery 条件
- Javascript / JQuery 条件替换
- 使用 jQuery 条件更改 CSS 背景
- 将jquery条件is(':checked')转换为布尔数组
- Rails基于父类生成选项,用于jQuery条件隐藏
- 循环多维数组以满足jQuery条件
- jQuery条件差异解析
- jQuery条件延迟
- if的Jquery条件不是鼠标输入
- Jquery条件是鼠标离开还是鼠标进入
- jQuery条件添加和删除CSS属性
- Jquery -条件不工作
- jQuery条件通过