它起作用,直到我将add函数添加到click函数中。
如何使其工作,以使得当从check函数中调用add函数时,仅当用户单击Submit按钮时该标志才递增,然后该控件传递回check函数,因此正确的最终值应为3
var flag = 1;
if(flag == 1) {
$('p').html("xxx");
check();
}
function check() {
$('#submit').click(function() {
if($("#text").val()=="") {
alert("Enter some text");
} else {
add();
flag++;
alert(flag);
}
});
}
function add() {
$('#submit').click(function() {
flag++;
alert("inside add " + flag);
});
}
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<div id="myform">
<p id="title"></p>
<input type="text" id="text">
<input type="submit" id="submit">
</div>
答案 0 :(得分:0)
您需要添加$( document ).ready(function() { ... });
这似乎可以满足您的要求:
$( document ).ready(function() {
var flag = 1;
if(flag == 1) {
$('p').text("xxx");
check();
}
function check() {
$('#submit').click(function() {
if($("#text").val()=="") {
alert("Enter some text");
} else {
add();
flag++;
alert(flag);
}
});
}
function add() {
$('#submit').click(function() {
flag++;
alert("inside add " + flag);
}
)};
});
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<div id="myform">
<p id="title"></p>
<input type="text" id="text">
<input type="submit" id="submit">
</div>