2013-03-26 130 views
0

創建與jQuery複選框功能的網站,功能都與所有其他瀏覽器如Chrome,Firefox,Safari,Opera或等工作正常。但它不工作在IE所有版本。這裏是我的代碼:Java腳本無法在Internet Explorer工作

<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 

    <ul id="filters" style="list-style:none; margin-top:75px; line-height:30px; "> 

    <li> 

     <input type="checkbox" value="outdoor" id="outdoor" /> 

     <label for="filter-category">Outdoor</label> 

    </li> 

    <li> 

     <input type="checkbox" value="remote_monitor" id="remote_monitor" /> 

     <label for="filter-category">Remote Monitor</label> 

    </li> 


    <li> 

     <input type="checkbox" value="battery" id="battery" /> 

     <label for="filter-category">Battery Operated</label> 

    </li> 

</ul> 
<div style="width:850px; height:148px; clear:both; margin-top:80px;"> 

<div class="category outdoor " style=" float:left; ">Rocco</div> 

<div class="category remote_monitor camera" style="float:left;margin-top:-2px; margin-left:10px;">Borocco</div> 

<div class="category battery" style="float:left; margin-top:-2px;margin-left:10px;">Sylva</div> 

<div class="category battery outdoor " style="float:left; margin-top:-2px;margin-left:10px;">Novesto</div> 

<script> 
$('input').change (function() { 

     var selector = $('input:checkbox').map(function(){ 

      return this.checked ? '.' + this.id : ''; 


     }).get().join(''); 


     console.log(selector); 



     var all = $('div[class^="category"]'); 

     if(selector.length) 

      all.hide().filter(selector).show() 

     else all.hide(); 

    }); 
</script> 

任何人都可以幫忙請!

+4

我看你加了標籤的問題'console.log' ...難道是涉及到這樣一個問題:http://stackoverflow.com/questions/7742781/why-javascript-only-works-after-opening -developer-tools-in-ie-once/7742862#7742862 – Spudley 2013-03-26 15:06:52

+0

什麼@Spudley鏈接。除非開發工具打開,否則IE不知道「console」是什麼。 – Jack 2013-03-26 15:07:47

+0

可能是這個可以試試嗎? '如果(typeof運算控制檯!== '未定義')的console.log(選擇)' – Jashwant 2013-03-26 15:09:07

回答

1

console.log(),直到打開開發工具窗口沒有在IE瀏覽器。

簡短的回答,這是根本就不在你的代碼中使用console.log(),除非你正在積極測試。如果你正在測試,你將會有開發工具打開,所以代碼將工作。如果你沒有測試,請刪除console.log();它沒有任何用處。

更詳細的答案可以在這裏找到:Why does JavaScript only work after opening developer tools in IE once?

0

你的代碼工作正常在Internet Explorer中。我相信,就像評論中已經指出的那樣 - 你沒有在Internet Explorer中打開你的控制檯(f12)。你需要有開發工具開放的console.log工作 - 或者,它會導致錯誤(和你的JavaScript的執行將停止)

的問題之一:

console.log(selector); 

Your code

+0

絕對正確。這都是因爲console.log,所以我只是刪除它。在IE中正常工作。非常感謝你。 – user2212033 2013-03-26 15:32:21

相關問題