#javascript #jquery #internet-explorer #internet-explorer-7
#javascript #jquery #internet-explorer #internet-explorer-7
Вопрос:
Я использую jQuery1.11.1
и выполняю этот код:
var links= $("#custom-menu").find("li").find("a");
links.each(function(){
if($(this).attr("href")==="#openModal")
{
$(this).on("click",function(event){
alert("Click event called on li");
$("#openModal").css("visibility","visible").fadeIn();
alert("Is the table showing now");
});
}
});
Это работает в IE8, но не работает в IE7, ничего не происходит, когда я нажимаю li
.
Редактировать:
Я сузил его, элемент управления не попадает в этот блок:
if($(this).attr("href")==="#openModal")
Комментарии:
1. В коде у вас есть событие щелчка
a
, а не включеноli
.2. Есть ли у вас где-нибудь онлайн-версия, где мы можем просмотреть результат так, как он должен быть?
3. @panther Это похоже на меню, первоначально они использовали
css transistions
для его отображения, но не работает сIE7
so, я должен изменить его на использованиеvisibility
иfadeIn/fadeOut
Ответ №1:
Я обнаружил, что внутренний / внутристраничный атрибут href в IE7 выглядит следующим образом:
http://localhost:8080/MyProject/mypage#openModal
вместо #openModal
Итак, вместо того, чтобы использовать это
if($(this).attr("href")==="#openModal")
Я использовал:
if($(this).attr("href")==="#openModal" || $(this).attr("href") ===(window.location.href "#openModal"))
Комментарии:
1. Пожалуйста, попробуйте
this.hash == '#openModal'
выполнить условие if, оно также должно работать в IE7, поскольку частиhref
, такие какhash
,host
,port
, … являются свойствами тега <A> в DOM API