2015-11-09 5 views
1

Я прочитал в MDN, что focusout не работает на Firefox, но зачем использовать его с jQuery. Что такое колдовство за jQuery? Спасибо.Почему использование фокуса с jQuery работает для Firefox при использовании addEventListener?

Fiddle

$(".input1").on("focusout", function() { 
 
    console.log("jquery focusout"); 
 
}); 
 

 
document.querySelector(".input2").addEventListener("focusout", function(){ 
 
\t console.log("focusout"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
 

 
<input class="input1" type="text" /> 
 
<input class="input2" type="text" />

ответ

0

jQuery обходит эту проблему, используя стандартные события focus и blur и устанавливая аргумент фазы захвата для addEventListener.

Here is the relevant source file.

В вас Например, вы можете заменить:

document.querySelector(".input2").addEventListener("focusout", function(){ 
    console.log("focusout"); 
}); 

С:

document.querySelector(".input2").addEventListener("blur", function(){ 
    console.log("focusout"); 
}, true); 

JSFiddle

$(".input1").on("focusout", function() { 
 
    console.log("jquery focusout"); 
 
}); 
 

 
document.querySelector(".input2").addEventListener("blur", function(){ 
 
    console.log("focusout"); 
 
}, true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
 

 
<input class="input1" type="text" /> 
 
<input class="input2" type="text" />