【发布时间】:2012-06-24 01:18:15
【问题描述】:
我已经构建了一个 web 应用程序,为了稍微完善一下,我想添加 mousedown 和 mouseup 处理程序来交换图像(在这种情况下,使按钮看起来像是被按下了)。
我的代码是这样的:
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 中测试),mousedown 和 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 的情况下这样做?
【问题讨论】:
-
嘿伙计!您在下面得到了答案,这一切都很好。但是请注意:在按钮上使用图像并不是最好的用户体验,请尝试仅使用 css。您可以在 getbootstrap.com/components 和许多其他框架中找到一些不错的按钮样式,甚至可以创建自己的样式。试试吧!你会喜欢的
-
@Guilherme:您知道,在按钮上使用图像是有正当理由的。就我而言,我正在使用 SVG 模拟一个物理摇杆开关,这是仅使用 CSS 无法做到的。但我也没有直接操作按钮样式。我所做的只是添加和删除一个类名。
-
Nice :D 图像还不错,只是并不总是最好的选择。在这种情况下,即使可以对它进行 css,我也会使用图像。
标签: javascript jquery jquery-mobile mouseevent