Bootstrap3手风琴表不适用于IOS mobile

时间:2014-12-19 14:17:26

标签: jquery html ios css accordion

我的手风琴表在所有设备和浏览器上运行良好但在ios mobile中根本无法正常工作。我找到的解决方案仅适用于div并使用href,但在我的情况下,我确实需要使用包含多个列的表。 这里有代码http://jsfiddle.net/k3yrnsux/ 我使用的是Boostrap 3。

有人可以帮忙吗?

    <div class="table-content">
    <table id="table-collapse" class="table table-responsive table-hover table-striped" style="border-collapse:collapse;">
        <thead>
            <tr>
                <th>#</th>
                <th>Date</th>
                <th>Description</th>
                <th>Credit</th>
                <th>Debit</th>
                <th>Balance</th>
            </tr>
        </thead>
        <tbody>
            <tr data-toggle="collapse" data-target="#demo1" data-parent="table-collapse" class="accordion-toggle">
                <td>1</td>
                <td>05 May 2013</td>
                <td>Credit Account</td>
                <td class="text-success">$150.00</td>
                <td class="text-error"></td>
                <td class="text-success">$150.00</td>
            </tr>
            <tr>
                <td colspan="6" class="hiddenRow">
                    <div class="accordian-body collapse" id="demo1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque malesuada ligula non semper facilisis. Sed mattis libero vel convallis tincidunt. Sed tempor auctor ultrices.</div>
                </td>
            </tr>
            <tr data-toggle="collapse" data-target="#demo2" class="accordion-toggle accordion-group">
                <td>2</td>
                <td>05 May 2013</td>
                <td>Credit Account</td>
                <td class="text-success">$11.00</td>
                <td class="text-error"></td>
                <td class="text-success">$161.00</td>
            </tr>
            <tr>
                <td colspan="6" class="hiddenRow">
                    <div id="demo2" class="accordian-body collapse">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque malesuada ligula non semper facilisis. Sed mattis libero vel convallis tincidunt. Sed tempor auctor ultrices.</div>
                </td>
            </tr>
            <tr data-toggle="collapse" data-target="#demo3" class="accordion-toggle">
                <td>3</td>
                <td>05 May 2013</td>
                <td>Credit Account</td>
                <td class="text-success">$500.00</td>
                <td class="text-error"></td>
                <td class="text-success">$661.00</td>
            </tr>
            <tr>
                <td colspan="6" class="hiddenRow">
                    <div id="demo3" class="accordian-body collapse">
                        <table class="table table-responsive table-striped table-hover">
                            <thead>
                                <tr>
                                    <th>#</th>
                                    <th>Date</th>
                                    <th>Description</th>
                                    <th>Credit</th>
                                    <th>Debit</th>
                                    <th>Balance</th>
                                </tr>
                            </thead>
                            <tbody>
                                <tr>
                                    <td>1</td>
                                    <td>05 May 2013</td>
                                    <td>Credit Account</td>
                                    <td class="text-success">$150.00</td>
                                    <td class="text-error"></td>
                                    <td class="text-success">$150.00</td>
                                </tr>
                                <tr>
                                    <td>1</td>
                                    <td>05 May 2013</td>
                                    <td>Credit Account</td>
                                    <td class="text-success">$150.00</td>
                                    <td class="text-error"></td>
                                    <td class="text-success">$150.00</td>
                                </tr>
                        </table>
                    </div>
                </td>
            </tr>
            </tbody>
    </table>
</div>

    function (o) {
    var s = t(this);
    s.attr("data-target") || o.preventDefault();
    var n = e(s),
        a = n.data("bs.collapse"),
        r = a ? "toggle" : t.extend({}, s.data(), {
            trigger: this
        });
    i.call(n, r)
}

    .hiddenRow {
    padding:0px!important;
}
.hiddenRow div {
    margin: 20px;
    white-space:normal;
}

1 个答案:

答案 0 :(得分:1)

我也遇到了iOS和bootstrap的问题。

出于某种原因,如果您手动将click事件附加到tr元素,它可以在没有问题的情况下工作但是您无法将附加属性传递给选择器。

http://jsfiddle.net/8x3ub2xz/

当传递给选择器的其他属性时,似乎只是在附加click事件时遇到问题?不知道为什么。

这项工作

$(document).ready(function () {

    $("tr").click(function () {
        var sender = $(this);
        var targetId = $(sender.attr("data-target"))
        targetId.toggle().collapse();
    });

});

这不是

$(document).ready(function () {

    $("tr [data-toggle='collapse']").click(function () {
        var sender = $(this);
        var targetId = $(sender.attr("data-target"))
        targetId.toggle().collapse();
    });

});