19

Tablesorter Jquery プラグインをページャーと一緒に使用している場合、テーブルにデータが表示されません。データはそこにありますが、隠されています。

プラグインのブラウザー機能検出方法が IE11 を処理できないと思われます。

他の誰かがこれに遭遇しますか?

4

4 に答える 4

30

IE11 の userAgent に問題があるようです。ターンアラウンドは、clearTableBody 関数 (jquery.tablesorter-2.0.3.js で動作) を次のように変更することです。

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 = "";
    //}
};
于 2013-10-25T09:07:41.697 に答える
20

これは、Internet Explorer 11 のユーザー エージェント文字列に "MSIE" が含まれていないため、jQuery が適切に識別できないことが原因です (この質問を参照してください)。

しかし、実際には、TableSorterページャコードは、コードを実行しているブラウザーを知る必要はありません。clearTableBody代わりに、jQuery のクロスブラウザー実装を利用するように関数を変更します。

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

IE8、IE9、IE11、Chrome 31、Firefox 24 でこれをテストしました。

(そして今、これを既に修正している可能性のある TableSorter のフォークを含む GitHub リポジトリを見つけました: https://github.com/Mottie/tablesorter )

于 2013-11-21T12:28:23.047 に答える
4

同じ問題があります。Microsoft にチケットを直接送信しました。

成り行きを見守る...

https://connect.microsoft.com/IE/feedback/details/806279/bug-when-sorting-with-a-jquery-plugin

于 2013-10-24T10:10:27.617 に答える