如何使所有引导程序面板可单击?

时间:2016-06-17 12:00:48

标签: javascript jquery html css twitter-bootstrap

我想要一个可点击的引导面板。但不是头部可点击。所有面板都可点击。我正在尝试但是当我将我的div添加到<a>时,所有内容都是可链接的,我不喜欢链接中的蓝色文字......

<div class="panel panel-default">
    <a href="#">
        <div class="panel-body">
            ...
        </div>
        <div class="panel-footer">
            <div class="row">
              ...
            </div>
        </div>
    </a>
</div>

我的引导程序面板如何可点击?

谢谢!

2 个答案:

答案 0 :(得分:3)

你可以设置它的样式,如果你可以为可点击的类添加一个类以便不会影响其他类,那就更好了:

<div class="panel panel-default clickable-panel" data-href=''>
    ...
</div>

CSS:

.clickable-panel a:hover, .clickable-panel a:active {
   color: #000;
   text-decoration: none;
}

或者,如果您不想使用a标记,则可以将CSS属性cursor添加到具有panel属性的类data-href,以使其可以点击:

.panel[data-href]{
    cursor: pointer !important;
}

然后添加包含您要重定向到的链接的data-href,例如:

<div class="panel panel-default" data-href=''>
    ...
</div>

然后在你的JS代码中添加事件:

$('body').on('click', '.panel[data-href]', function(){
    if(window.location.hash) {
        window.location.hash = $(this).data('href');
    } else {
        window.location.href = $(this).data('href');
    }
})

希望这有帮助。

$('body').on('click', '.panel[data-href]', function(){
  if(window.location.hash) {
    window.location.hash = $(this).data('href');
  } else {
    window.location.href = $(this).data('href');
  }
})
.panel[data-href]{
  cursor: pointer !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class="panel panel-default" data-href='#test'>
  <div class="panel-body">
     Go to test div
  </div>
  <div class="panel-footer">
    <div class="row">
      ...
    </div>
  </div>
</div>
<br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br>
<div id='test'>
  TEST DIV
</div>

答案 1 :(得分:0)

您可以从面板中删除所有链接样式:

.panel-default a:link, .panel-default a:hover, .panel-default a:visited, .panel-default a:active {
       color: #000;
       text-decoration: none;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>

<div class="panel panel-default">
  <a href="#">
    <div class="panel-body">
      ...
    </div>
    <div class="panel-footer">
      <div class="row">
        ...
      </div>
    </div>
  </a>
</div>