CSS按钮:悬停,禁用,然后使用javascript重新启用
我有一些按钮有一个悬停效果,使按钮颜色更暗的悬停(与css) 当用户单击这些按钮时,我通过javascript禁用它们 当我想重新启动程序(游戏)并通过javascript重新启用按钮时,css按钮:悬停效果不再起作用 有什么解决办法吗 javascript启用/禁用按钮功能包括:CSS按钮:悬停,禁用,然后使用javascript重新启用,javascript,css,hover,Javascript,Css,Hover,我有一些按钮有一个悬停效果,使按钮颜色更暗的悬停(与css) 当用户单击这些按钮时,我通过javascript禁用它们 当我想重新启动程序(游戏)并通过javascript重新启用按钮时,css按钮:悬停效果不再起作用 有什么解决办法吗 javascript启用/禁用按钮功能包括: function jsEnableElement(id) { if ( document.getElementById(id) ) { document.getElementById(id).style.b
function jsEnableElement(id) {
if ( document.getElementById(id) ) {
document.getElementById(id).style.background = "#3399FF";
document.getElementById(id).style.cursor = "pointer";
document.getElementById(id).disabled = false;
}
}
function jsDisableElement(id) {
if ( document.getElementById(id) ) {
document.getElementById(id).style.background = "#DDDDDD";
document.getElementById(id).style.cursor = "default";
document.getElementById(id).disabled = true;
}
}
我不知道为什么在更改元素的背景颜色时,即使保留其ID或类名,行为也会中断。但表面上确实如此 因此,解决这个问题的另一种方法,也许更好的方法是更改元素的类 我不知道要禁用哪个元素,但我使用了一个DIV作为示例。可以在此处找到一个工作演示: 但为了完整起见,我也会在这里添加代码
<html>
<head>
<script>
function jsEnableElement(id) {
if ( document.getElementById(id) ) {
document.getElementById(id).removeAttribute("disabled");
document.getElementById(id).className = "enabled";
//document.getElementById(id).disabled = false;
}
}
function jsDisableElement(id) {
if ( document.getElementById(id) ) {
document.getElementById(id).removeAttribute("enabled");
document.getElementById(id).className = "disabled";
//document.getElementById(id).disabled = true;
}
}
</script>
</head>
<body>
<div id="hallo" class="enabled" onclick="jsDisableElement('hallo');">Click me to disable</div>
<div onclick="jsEnableElement('hallo');">Click me to enable it again</div>
</body>
编辑:
我想提到的另一件事是,如果您使用这个解决方案,那么我真的建议您使用jQuery这样的库。它允许您轻松地编辑、删除或向元素添加类。在本例中,我只需从元素中删除所有类。我认为您可以直接给出如下所示的属性:
document.getElementById("btnL1").setAttribute("disabled","true") //to disable the button
document.getElementById("btnL1").removeAttribute("disabled") //enable it again
你能显示你的按钮的HTML吗请。。。taa和函数jsHangmanCheckLetter(sID,sLetter){try{if(g_GameIsActive==true){jsDisableElement(sID);}}}catch(err){alert(“ERROR::sHangmanCheckLetter(sLetter)::“+err);}我认为您误解了这个问题-启用/禁用有效-问题是css:hover属性在再次启用后不起作用。这是一种纯JavaScript方式来操作类。。。。很简单。。。。如果这个帖子帮助了你,请考虑把它标记为答案,用户108748。谢谢
document.getElementById("btnL1").setAttribute("disabled","true") //to disable the button
document.getElementById("btnL1").removeAttribute("disabled") //enable it again