jQuery移动列表视图分割按钮,仅限右按钮

tom*_*402 5 listview split-button jquery-mobile

请参阅此示例http://view.jquerymobile.com/1.3.0/docs/widgets/listviews/ 部分:拆分按钮

在该示例中,左侧和右侧部分都是按钮.我怎样才能得到只有正确的部分是按钮(左边只是一个基本的只读文本)?

谢谢!

Gaj*_*res 3

解决方案

这是根据官方分割按钮示例制作的工作示例:http://jsfiddle.net/Gajotres/nwg5b/

您需要做的是从第一个 a 标签中删除 href="#":

改变这个:

<li><a href="#">
    <img src="../../_assets/img/album-bb.jpg">
    <h2>Broken Bells</h2>
    <p>Broken Bells</p></a>
    <a href="#purchase" data-rel="popup" data-position-to="window" data-transition="pop">Purchase album</a>
</li>
Run Code Online (Sandbox Code Playgroud)

对此:

<li><a>
    <img src="../../_assets/img/album-bb.jpg">
    <h2>Broken Bells</h2>
    <p>Broken Bells</p></a>
    <a href="#purchase" data-rel="popup" data-position-to="window" data-transition="pop">Purchase album</a>
</li> 
Run Code Online (Sandbox Code Playgroud)

最后,您需要深入了解 jQuery Mobile css。考虑您要使用的主题(示例中使用主题 c)。打开 jQuery Mobile css 并搜索此类:.ui-btn-up-c其中 c 是主题 c (例如,如果使用主题 a,则搜索.ui-btn-up-a)。

复制其内容并将重要内容放在每行的末尾。在这个新 css 块的末尾添加以下行:

cursor: default !important;
Run Code Online (Sandbox Code Playgroud)

并根据需要命名(在示例中为:readonly-state-c)。它应该看起来像这样:

.readonly-state-c {
    background: #eee !important;
    font-weight: bold !important;
    color: #2F3E46 !important;
    text-shadow: 0 /*{c-bup-shadow-x}*/ 1px /*{c-bup-shadow-y}*/ 0 /*{c-bup-shadow-radius}*/ #ffffff /*{c-bup-shadow-color}*/ !important;
    background-image: -webkit-gradient(linear, left top, left bottom, from( #ffffff /*{c-bup-background-start}*/), to( #f1f1f1 /*{c-bup-background-end}*/)) !important; /* Saf4+, Chrome */
    background-image: -webkit-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/) !important; /* Chrome 10+, Saf5.1+ */
    background-image:    -moz-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/) !important; /* FF3.6 */
    background-image:     -ms-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/) !important; /* IE10 */
    background-image:      -o-linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/) !important; /* Opera 11.10+ */
    background-image:         linear-gradient( #ffffff /*{c-bup-background-start}*/, #f1f1f1 /*{c-bup-background-end}*/) !important;   
    cursor: default !important;
}
Run Code Online (Sandbox Code Playgroud)

从中创建新类并将其放入第一个标签中,如下所示:

<li><a class="readonly-state-c">
    <img src="http://view.jquerymobile.com/1.3.0/docs/_assets/img/album-bb.jpg">
    <h2>Broken Bells</h2>
    <p>Broken Bells</p></a>
    <a href="#purchase" data-rel="popup" data-position-to="window" data-transition="pop">Purchase album</a>
</li>
Run Code Online (Sandbox Code Playgroud)

就是这样。

更多信息

如果您想学习如何自己进行此类更改,您应该查看这篇文章,它将教您如何自己进行此操作。