17

我正在尝试使用 Bootstrap 的分页样式。文档说要像这样创建页面列表:

<div class="pagination">
    <ul>
        <li class="disabled"><a href="#">&laquo;</a></li>
        <li class="active"><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
        <li><a href="#">&raquo;</a></li>
    </ul>
</div>

前两个链接,左箭头和 1,应该被禁用。但是,当我将它合并到我的 django 模板中时,这两个仍然可用。单击它们会将用户发送到页面顶部,就像任何其他带有 id "#" 的锚链接一样。我想我仍然必须有那个才能让 Bootstrap 正确地设置它的样式。

有没有办法这样写,这样当用户点击一个禁用的“按钮”时它什么都不做?

4

5 回答 5

30

在文档中,这些按钮只是手动禁用的。.pagination它与样式无关。

你可以用那个

$('.pagination .disabled a, .pagination .active a').on('click', function(e) {
    e.preventDefault();
});

注意:如果您使用基于 ajax 的分页,则必须将这段代码放在更新处理程序中或使用委托事件代替

于 2012-08-18T18:35:43.700 回答
6

如果您动态编写 html 服务器端(例如使用 django)并且您不想使用 javascript,您可以这样做:

pseudo code:
if (Model.HasNext()) {
   <li> // normal link
      <a href="www.someurl.com/page=i">next</a>
   </li>
} else {
   <li class="disabled"> // disabled link
      <a href="javascript: void(0)">next</a>
  </li>
}
于 2013-09-13T02:39:52.757 回答
6

作为参考,这是Bootstrap 所做的

&.disabled,
&[disabled] {
  cursor: not-allowed;
  pointer-events: none; // Future-proof disabling of clicks
  .opacity(.65);
  .box-shadow(none);
}
于 2014-06-24T16:20:56.417 回答
3
$('.disabled a').click(function(){
    return false;
});
于 2017-08-01T21:17:21.637 回答
-1

对于 PHPLD v 4.2,我使用以下代码显示 Bootstrap 3 分页

{* Display Paging Links *}
<ul class="pagination">
<li>{paginate_prev id="MainPaging"}</li>
{paginate_middle id="MainPaging" format="page" prefix="" suffix="" link_prefix="
<li>"link_suffix="</li>" current_page_prefix="
<li class=\"active\"><a href=\"#\">"current_page_suffix="</a></li>"}
<li>{paginate_next id="MainPaging"}</li>
</ul>
于 2014-01-27T17:03:34.687 回答