Полагаю, это зависит от реализации браузера относительно того, отображается ли меню до или после завершения обработчика щелчков.Таким образом, вы можете получить (и, по-видимому, получаете) разные результаты в разных браузерах.
Я полагаю, некоторые браузеры предпочитают отображать меню немедленно, чтобы не было задержки, за счет каких-либо изменений в options
.имея возможность иметь место.
Лучшим решением может быть просто не пытаться изменить содержимое события click
.Если вам нужна эта функциональность, возможно, вы могли бы использовать mouseover
.
Если вы используете mouseover
, тогда вы можете использовать jQuery .one()
метод , поэтому он запускается только один раз.1014 *
$('#someSelectElement').one('mouseover', function() {
var newHtml = "";
for(var i = 0; i < 3; i++)
{
newHtml += "<option>" + i + "</option>";
}
$(this).html(newHtml);
});