Jquery 如何在Javascript中阻止按钮的默认行为时设置按钮选项卡状态的样式

Jquery 如何在Javascript中阻止按钮的默认行为时设置按钮选项卡状态的样式,jquery,html,css,Jquery,Html,Css,在本例中,有一个标记为“tab”的按钮,css与其他按钮不同(它似乎已禁用)。我希望该按钮的边框是黑色的,同时按下键或像其他按钮一样使用选项卡。我知道这是因为e;但如果我删除它,我的功能就会停止 有办法解决这个问题吗 请参见小提琴 HTML: 数百 经皮电刺激神经疗法 一个 在css中,根据需要设置样式。:active是一个伪选择器,用于选择按钮是否为“active”。即,当它处于鼠标向下状态时 .tab:active{ border:1px solid black; } 尽管你可以

在本例中,有一个标记为“tab”的按钮,css与其他按钮不同(它似乎已禁用)。我希望该按钮的边框是黑色的,同时按下键或像其他按钮一样使用选项卡。我知道这是因为e;但如果我删除它,我的功能就会停止

有办法解决这个问题吗

请参见小提琴

HTML:


数百
经皮电刺激神经疗法
一个

在css中,根据需要设置样式。
:active
是一个伪选择器,用于选择按钮是否为“active”。即,当它处于
鼠标向下
状态时

.tab:active{
   border:1px solid black;
}
尽管你可以随心所欲地摆弄它


要在鼠标按下时设置“所有按钮”的样式,您可以使用以下内容:

input[type="button"]:active{    /*all input buttons on mousedown */
    outline:0;                  /*remove default outline from all*/
    border:1px solid pink;      /*add styling as you wish*/
}


在阅读了firefox之后,我发现它不喜欢在“mousedown”事件处理程序上使用e.preventDefault(),同时保持“active”css。将此更改为“点击”事件允许Firefox接受按钮作为按钮输入,因此可以这样使用:

$('.tab').on('click', function (e) {     /*THIS BIT CHANGED*/
    e.preventDefault();
    ...
    ...
});

fiddle is tab按钮与其他按钮在单击时的工作方式不同边框颜色将变为粉红色,除了tab按钮@jbutler483我从早上开始尝试,但没有用,你能帮我吗。@NITISHDHAWAN:我无法在fiddle中重现你的问题。您正在使用哪个浏览器?但是如果我将事件处理程序更改为单击,则会出现另一个问题。我的.tab按钮功能正在更改@JButler483看起来像是更新的FF版本的问题。在FF19上测试,效果良好。
$('.tab').on('click', function (e) {     /*THIS BIT CHANGED*/
    e.preventDefault();
    ...
    ...
});