Pode evitar que o Chrome cause um loop infinito ao exibir alertas no evento de foco, sem desativar e reativar o evento?
Considere o seguinte código. Se eu clicar no cmbMonkeys, ele causará um loop infinito de mensagens de alerta no Google Chrome. Minha solução alternativa para o cmbPeople funciona bem. Alguém conhece outra maneira de evitar loops infinitos ao exibir alertas em eventos de foco ou desfoque, sem desativar e reativar o evento?
<html>
<head>
<script>
var eventHandler;
function cmbPeople_OnFocusHandler() {
alert("focus");
}
function cmbPeople_CallFocusHandler(control) {
eventHandler = control.onfocus;
control.onfocus = null;
cmbPeople_OnFocusHandler();
}
function cmbPeople_CallBlurHandler(control) {
control.onfocus = eventHandler;
}
function cmbMonkeys_FocusHandler(control) {
alert("I like monkeys");
}
</script>
</head>
<body>
monkeys <select id="cmbMonkeys" onfocus="cmbMonkeys_FocusHandler(this)"></select>
people <select id="cmbPeople" onfocus="cmbPeople_CallFocusHandler(this)" onblur="cmbPeople_CallBlurHandler(this)"></select>
</body>
</html>