我有一个 HTML 按钮,它包装了一个图像标签并定义了一个onmouseup
和onmousedown
处理程序。当按钮向下时,图像变为按下的图像,当它向上时,它变为向上的图像。问题是如果用户在按钮按下时将鼠标从按钮上拖开,onmouseup
则永远不会调用该事件,因此图像会保持按下状态。这是正在发生的事情的一个例子。尝试单击按钮并将其拖出:http: //jsfiddle.net/gsingh93/ubyV8/5/
我将如何解决这个问题?
我有一个 HTML 按钮,它包装了一个图像标签并定义了一个onmouseup
和onmousedown
处理程序。当按钮向下时,图像变为按下的图像,当它向上时,它变为向上的图像。问题是如果用户在按钮按下时将鼠标从按钮上拖开,onmouseup
则永远不会调用该事件,因此图像会保持按下状态。这是正在发生的事情的一个例子。尝试单击按钮并将其拖出:http: //jsfiddle.net/gsingh93/ubyV8/5/
我将如何解决这个问题?
您必须window
用作目标:
document.getElementsByTagName("button")[0].addEventListener("mousedown", function(){
document.getElementById("image").src = "http://www.clogsmusic.com/padma/redCircle50x50.gif";
window.onmouseup = function(){
document.getElementById("image").src = "http://creativeenergyblog.files.wordpress.com/2008/05/blue-circle.jpg?w=50&h=50";
}
});
工作演示:http: //jsfiddle.net/DerekL/XTLJ6/
当鼠标离开按钮时调用 mouseUp():
onmouseout="mouseUp();"
好,我知道了!我摆脱了图像并将图像作为按钮的背景。我还实现了一个条件 onmouseout() 调用来处理您的问题。看一看。喜欢就点个赞吧!