Я работаю с унаследованным кодом, и я наткнулся на этот кусок искусства:Наследие IE взломать: метка не фокусирование вход
//IE Hacks
if (navigator.appName == 'Microsoft Internet Explorer') {
$("label").live('click', function() {
$('#'+$(this).attr('for')).click().click().click();
});
}
// End IE Hacks
мне сказали, что это было написано, потому что этикетки не всегда работает в IE и этот трюк исправил это. Также он не работал с двумя вызовами .click()
, но все три были необходимы.
Используемая версия jQuery - 1.4.2
.
Я хочу реорганизовать это, чтобы использовать функцию обнаружения и более элегантное решение.
Я искал Google проблемы с меткой в IE и наткнулся только на проблемы со скрытыми входами.
Кто-нибудь знает, что может быть проблемой, которую решает этот код?
Есть ли более элегантное решение?
UPDATE:
Как вы думаете, это не проблема, этот код мог бы возможно решить, и я должен просто удалить его?
UPDATE 2:
Я нашел проблему с этикетками на сайте. Вот фрагмент HTML:
<div class="remember-me">
<input type="hidden" name="remember" value="0">
<input type="checkbox" id="remember" name="remember" value="1" class="checkbox-input" rel="remember">
<label class="label-remember" for="remember">Keep me logged in</label>
</div>
Этот HTML-код вставляется в страницу с помощью Ajax, так что может быть связано с проблемой, описанной в kevmc.
В Internet Explorer 7 щелчок по метке не установлен. Вместо этого он фокусирует ярлык (с тонкой пунктирной рамкой).
Вы просите альтернативное решение проблемы, когда вы даже не знаете, действительно ли существует это ...? – CBroe
@CBroe Я даже не уверен, что является исходной проблемой. Моя текущая проблема - это код, который я не знаю, работает ли он, и я не знаю, как его лучше переписать. –
У вас проблемы с вашей страницей со старыми IE? – CBroe