【问题标题】:change active state for jquery-ui button更改 jquery-ui 按钮的活动状态
【发布时间】:2015-10-12 14:36:33
【问题描述】:

我正在使用 jquery-ui 1.11。我有一个按钮,我希望在活动状态下显示按钮在单击时按下。使用我从 jquery-ui 网站复制的默认功能,文本将颜色从蓝色变为珊瑚色。我在按钮上添加了一个阴影,我希望在活动状态下删除框阴影,以便看起来按钮在单击时按下。 这是我的 HTML:

<div id="rotation_btn_div">
<input id="rotation_schedule_btn" type="button" value="Create Schedule" />
</div> 

这是我的 jquery 函数:

$(function () {
   $("#rotation_schedule_btn")
    .button()
    .click(function (event) {             
     event.preventDefault();
  });
});

删除.button() 会在单击按钮时删除更改(即将文本从蓝色更改为珊瑚色)。我想保持文本相同,并在单击时将按钮显示为按下状态。 这是我的 .css:

input[type="submit"],
input[type="button"],
button {
    background-color: #d3dce0;
    border: 1px solid #787878;
    cursor: pointer;
    font-size: medium;
    font-weight: 600;
    padding: 7px;
    margin-right: 8px;
    width: auto;
    box-shadow: 5px 5px 5px #888888;
}

button:active {
    box-shadow: none;
}

【问题讨论】:

  • 我认为您可能正在寻找 :focus .. 但不太确定,因为 :active 应该可以正常工作.. 您是否正在寻找 CSS 本身以获得“沮丧”的外观?
  • 是的。我只想在单击时按下按钮,而不是文本更改颜色。根据我的阅读,如果您删除按钮上的框阴影,它看起来像是被压下然后弹回。
  • 我将“活动”更改为“焦点”。但是还是不行。

标签: jquery css jquery-ui


【解决方案1】:

您想在按钮类型的输入标签上应用 CSS,以便您可以这样使用 CSS 选择器:

使用

input[type="button"]:active {
  box-shadow: none;        
}

而不是

button:active {
  box-shadow: none;
}

编辑:您可以为按钮添加边距,使其看起来更像是按下的按钮。您可以根据 box-shadow 值调整边距以获得您想要的效果。

input[type="button"]:active {
  box-shadow: none;  
  margin-top:3px;
  margin-left:3px;      
}

【讨论】:

  • 谢谢。这消除了盒子阴影。虽然没有给我想的影响。该按钮看起来并不像被按下。有什么建议吗?
  • @GloriaSantin,其中一种方法是您可以添加一些边距,使其看起来更像是按下的按钮。查看我编辑的答案
  • 是的!这就是我所追求的。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 2023-04-08
  • 2016-03-21
  • 2011-06-03
  • 1970-01-01
相关资源
最近更新 更多