2013-10-21 95 views

答えて

27

... ...待ってから、参照してくださいIE11が彼のuserAgentに問題があるようです。 ターンアラウンドを変更するには、このような(jquery.tablesorter-2.0.3.jsで働く)clearTableBody機能である:

this.clearTableBody = function (table) { 
    //if ($.browser.msie) { 
     function empty() { 
      while (this.firstChild) this.removeChild(this.firstChild); 
     } 
     empty.apply(table.tBodies[0]); 
    //} else { 
    // table.tBodies[0].innerHTML = ""; 
    //} 
}; 
+0

私のために働いていません... :( –

+0

バグを潰しました! – Bosworth99

20

これがないユーザーエージェント文字列を持つため、Internet Explorerの11の方法であります「MSIE」が含まれているため、jQueryは正しく識別しません(this question参照)。

実際には、TableSorter ポケットベルコードは、どのブラウザがコードを実行しているかを知る必要はありません。代わりにjQueryのクロスブラウザの実装を活用する機能clearTableBodyを変更します。私は、IE8、IE9、IE11、クロム31とFirefoxでこれをテストしている

this.clearTableBody = function(table) { 
    $(table.tBodies[0]).empty(); 
}; 

(そして、ちょうど今、私はGitHubのを見つけましたおそらくこの既に固定されているTableSorterのフォークでレポ:https://github.com/Mottie/tablesorter

0

一つの簡単なsoltion - に if($.browser.msie)からjquery.tablesorter.jsの行を変更:

if(/msie/.test(navigator.userAgent.toLowerCase()) || window.navigator.userAgent.indexOf("Trident/7.0") > 0)は私のために働く。

/msie/.test(navigator.userAgent.toLowerCase())がIEバージョン10以下を検出しました。 window.navigator.userAgent.indexOf("Trident/7.0") > 0がIEを検出しました。

関連する問題