我已经构建了一个web应用程序,并且为了一点点擦亮,我想添加mousedown和mouseup处理程序来交换图像(在这种情况下,使按钮看起来像被按下)。在没有jQuery移动设备的移动设备上使用mousedown事件?
我的代码是这样的:
window.onload = function() {
//preload mouse down image here via Image()
$("#button_img").mousedown(function(){$("#button_img").attr("src","button_on.png");});
$("#button_img").mouseup(function(){$("#button_img").attr("src","button_off.png")});
}
这工作顺顺当当在桌面上,但在移动(在iOS的Safari浏览器测试),鼠标按下和MouseUp事件发生在同一时间,所以有效地什么也没发生。
我试图用在jQueryMobile的vmousedown和vmouseup事件,但是这个代码:
//include jquerymobile.js and jquerymobile.css
window.onload = function() {
//preload mouse down image here via Image()
$("#button_img").vmousedown(function(){$("#button_img").attr("src","button_on.png");});
$("#button_img").vmouseup(function(){$("#button_img").attr("src","button_off.png")});
}
只是给了我vmousedown和vmouseup不存在错误。此外,jQueryMobile覆盖了我已经为该页面编写的CSS。
那么有没有办法让vmousedown和vmouseup工作,并没有jQuery Mobile的CSS这样做?
在此先感谢
-esa
Hey budy!你已经得到了你的答案,这一切都很好。但看,只是为了说明:在按钮上使用图像不是最好的用户体验,请尝试只使用CSS。您可以在http://getbootstrap.com/components和其他许多框架中找到一些漂亮的按钮样式,甚至创建自己的风格。尝试一下!你会喜欢它 –
@Guilherme:你也知道,在按钮上使用图像是有正当理由的。在我的情况下,我使用SVG模拟物理摇杆开关,这不可能仅使用CSS。但我也没有直接操作按钮样式。我所做的只是添加和删除类名。 – user128216
不错:D图像并不差,只是不总是最好的选择。在这种情况下,即使它可能用于CSS,我也会使用图像。 –