2016-04-29 1 views
0

Как сделать вход type="button" с jquery функцией .click() работы в Internet Explorer и Safari? Он отлично работает в Mozilla, Chrome и Opera. Пример, кнопка нажата Венна скрытый DIV предъявляется:Jquery: Тип входа «Кнопка» = с функцией .click() не работают в Internet Explorer и Safari

<input type="button" value="Comments(<?php echo $commentCounter?>)" data-id="<?php echo $productArray[$key]["ID"].$_SESSION["userSession"];?>" class="CommentsSection"/> 
<div id="<?php echo $productArray[$key]["ID"].$_SESSION["userSession"];?>" style="display:none"> 
<?php 
echo"This is hidden div"; 
?> 
</div> 

JavaScript:

<script type="text/javascript"> 
$(document).ready(function(){ 

$(".CommentsSection").click(function(){ 
    var sectionID=$(this).attr('data-id'); 
$("#"+sectionID).show(); 
}); 
}); 
</script> 
+0

Не могли бы вы вставить сгенерированный HTML вместо PHP-кода? – Flunch

ответ

0

Скорее всего, ваш JS загружается и выполняется до вашего HTML визуализируется. Вы могли бы вложить свои JS в случае documentReady (и закрыть OnClick скобку):

$(document).ready(function() { 
    $(".CommentsSection").click(function(){ 
     var sectionID=$(this).attr('data-id'); 
     $("#"+sectionID).show(); 
    }); 
}); 
0

Это должно удовлетворить ваши цели:

$(document).ready(function() { 
    $(".CommentsSection").click(function(ev){ 
     ev.preventDefault(); 

     var sectionID=$(this).data('id'); 
     $("#"+sectionID).show(); 
    }); 
}); 

Мои дополнения:

Используйте data() JQuery вместо этого

Ждут подтверждения документа

Предотвратите поведение по умолчанию

+0

Если я использую 'data()' вместо 'attr()', то он не работает во всех браузерах. '<тип скрипта = "текст/JavaScript"> $ (документ) .ready (функция() { $ ("CommentsSection.") Нажмите (функция (эв) { ev.preventDefault(). var sectionID = $ (this) .data ('data-id'); $ ("#" + sectionID) .show(); }); }); ' – Darius92

Смежные вопросы