Javascript focusin事件中的警报()继续弹出
当我在下面的Javascript focusin事件中的警报()继续弹出,javascript,jquery,html,Javascript,Jquery,Html,当我在下面的标记内单击时,在我单击警报()的“确定”按钮后,下面代码中的警报()会一直出现 单击“确定”按钮后,我需要做什么来停止警报?我的代码需要跳出输入标记并执行其他一些操作 .... <input type="text" class="txtInput" value="Test for focusin event" /> .... <input type="button" id="goBtn" value="GO" /> <script> $(".txt
标记内单击时,在我单击警报()
的“确定”按钮后,下面代码中的警报()
会一直出现
单击“确定”按钮后,我需要做什么来停止警报?我的代码需要跳出输入标记并执行其他一些操作
....
<input type="text" class="txtInput" value="Test for focusin event" />
....
<input type="button" id="goBtn" value="GO" />
<script>
$(".txtInput").focusin(function () {
var t = $(this).val();
alert(t);
});
<script>
。。。。
....
$(“.txtInput”).focusin(函数(){
var t=$(this.val();
警报(t);
});
如果已经聚焦,则可以使用布尔标志轨迹:
....
<input type="text" class="txtInput" value="Test for focusin event" />
....
<input type="button" id="goBtn" value="GO" />
<script>
var focused=false;
$(".txtInput").focusin(function () {
if(focused) return;
focused=true;
var t = $(this).val();
alert(t);
});
<script>
。。。。
....
var=false;
$(“.txtInput”).focusin(函数(){
如果(聚焦)返回;
专注=正确;
var t=$(this.val();
警报(t);
});
执行后,可以将该值设置回false
或者,您可以解除处理程序的绑定,并在需要时重新绑定。焦点在
警报()对话框关闭后返回到输入。如果要确保只发出一次alert()
,请跟踪:
var alerted = false;
$(".txtInput").focusin(function () {
if (! alerted) {
alerted = true;
var t = $(this).val();
alert(t);
}
});
或者只需使用console.log()
,同时避免出现alert()
弹出窗口和多个焦点问题
$(".txtInput").focusin(function () {
var t = $(this).val();
console.log(t);
});
这是因为当输入聚焦时,警报弹出,然后输入失去焦点。当您关闭警报框时,焦点将返回到它之前的位置(输入),因此输入将获得焦点,警报将弹出
把它扔掉。如果要调试,请使用