如何使用多重選擇器(「selector1,selector2,selectorN」)獲取.change()以在所有字段都不在焦點時觸發,而不是每次改變的領域之一變得焦點?.change()帶有多個字段爲每個已更改的字段啓動失焦
謝謝!
如何使用多重選擇器(「selector1,selector2,selectorN」)獲取.change()以在所有字段都不在焦點時觸發,而不是每次改變的領域之一變得焦點?.change()帶有多個字段爲每個已更改的字段啓動失焦
謝謝!
您需要change
事件和blur
事件。
在下面的例子中,所有字段都將變成紅色對它們中的一個的模糊,如果沒有,則他們的beeing聚焦和如果它們中的至少一個爲已改變。
var inputChanged = false;
$(".test").on("change", function(){
inputChanged = true;
});
$(".test").on("blur", function(){
var flag=true;
setTimeout(function(){
// Check if one input is focussed 10 ms after that blur.
$(".test").each(function(){
if($(this).is(":focus")){
flag = false;
}
});
// If no input focussed and at least one input changed.
if(flag && inputChanged){
$(".test").css({"background-color":"red"});
}
},10);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="test"><br>
<input class="test"><br>
<input class="test"><br>
你想要的東西就'change'只發生,如果沒有給定的元素集中? –
@LouysPatriceBessette對!當用戶完成表單(並且沒有重點關注所有字段)時,我想要發生一些事情 – Emilio