使用 JavaScript 使 HTML 按钮显示为已按下?
Make HTML button appear pressed with JavaScript?
如何使 HTML 按钮看起来像是通过 JavaScript 按下的?
我有一个按钮,按下时发送一条网络消息,松开时发送另一条网络消息。
这个特定命名的按钮可能会在一个页面或多个设备上显示多次。因此,如果按下了任何相同用途的按钮,我需要让其余的副本看起来像是按下了。
我怎样才能实现这种行为?
我个人认为为此使用 JavaScript 会有点矫枉过正,这是使用 CSS 完成的。您的代码将介于 { }
之间。
button:active {
color: red;
background-color: pink;
padding: 8px;
}
警告!
这将为所有 button
元素设置样式,而不仅仅是一个。如果您只想要一个,则使用 ID,如果不止一个,则使用 class.
编辑 1
仅限 JS
<button id="test" onclick="styleButton(this);">Hello!</button>
function styleButton(element) {
document.getElementById(element.id).className = "yourClassName";
}
您可能希望将 class 添加到函数中的按钮。
$('button').addClass('someclass')
然后只需使用 CSS 定义您的 class。
在您的 CSS 中,像这样设置活动按钮的样式:
button:ative, .active-class {
}
这样一来,点击的按钮看起来就和 class active-class
一样了。
在这里,您可以按照自己喜欢的任何方式应用/删除 class...
$(".my-button").on("click", function(){
$(this).toggleClass("active-class");
});
borderStyle
样式 属性 可以设置为执行此操作。要显示按下的按钮,请使用
document.getElementById("myButton").style.borderStyle = "inset";
完成后,使用
document.getElementById("myButton").style.borderStyle = "outset";
将按钮设置回正常状态。
如何使 HTML 按钮看起来像是通过 JavaScript 按下的?
我有一个按钮,按下时发送一条网络消息,松开时发送另一条网络消息。
这个特定命名的按钮可能会在一个页面或多个设备上显示多次。因此,如果按下了任何相同用途的按钮,我需要让其余的副本看起来像是按下了。
我怎样才能实现这种行为?
我个人认为为此使用 JavaScript 会有点矫枉过正,这是使用 CSS 完成的。您的代码将介于 { }
之间。
button:active {
color: red;
background-color: pink;
padding: 8px;
}
警告!
这将为所有 button
元素设置样式,而不仅仅是一个。如果您只想要一个,则使用 ID,如果不止一个,则使用 class.
编辑 1
仅限 JS
<button id="test" onclick="styleButton(this);">Hello!</button>
function styleButton(element) {
document.getElementById(element.id).className = "yourClassName";
}
您可能希望将 class 添加到函数中的按钮。
$('button').addClass('someclass')
然后只需使用 CSS 定义您的 class。
在您的 CSS 中,像这样设置活动按钮的样式:
button:ative, .active-class {
}
这样一来,点击的按钮看起来就和 class active-class
一样了。
在这里,您可以按照自己喜欢的任何方式应用/删除 class...
$(".my-button").on("click", function(){
$(this).toggleClass("active-class");
});
borderStyle
样式 属性 可以设置为执行此操作。要显示按下的按钮,请使用
document.getElementById("myButton").style.borderStyle = "inset";
完成后,使用
document.getElementById("myButton").style.borderStyle = "outset";
将按钮设置回正常状态。