我有textarea
和input
。当任何控件失去焦点时,我发送一个ajax请求。我使用以下JS:
//Large text event
$('.custom-largetext').focusout(function () {
getCustomCounts($(this))
});
//Autocomplete text event
$('.custom-autocomplete').focusout(function () {
getCustomCounts($(this))
});
我面临的问题是当我在textarea中输入任何文字并按Tab键时,focusout
的{{1}}会被解雇,一旦textarea
获得焦点,它的input
也被解雇了。我只想在任何控制失去焦点时做一些事情。 focusout
在focusout
上解雇的原因是什么?我尝试过使用focusin
,但我遇到了同样的问题。
当.blur()
或input
失去焦点时,还有其他选择吗?
编辑:使用textarea
动态添加input
和textarea
字段,这就是我使用公共类引用它们的原因。
EDIT2:
我搜索过一点,问题出在knockoutJS
事件中AJAX
请求。当我在focusout
中输入一个值并按下选项卡或单击其他输入控件时,在两种情况下焦点立即转移到另一个input
元素,AJAX请求将进行两次。如果我在input
之外单击,则AJAX请求只进行一次。出现这种情况的原因是什么?如何解决这个问题?