我已经构建了一个webapp,为了进行一些改进,我想添加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")});
}
Run Code Online (Sandbox Code Playgroud)
这在桌面上游戏,但在移动设备上(在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")});
}
Run Code Online (Sandbox Code Playgroud)
刚刚给了我vmousedown和vmouseup不存在的错误.此外,jQueryMobile会覆盖我已经为该页面编写的CSS.
那么有没有办法让vmousedown和vmouseup工作,并且没有jQuery Mobile的CSS这样做?
我有一个使用触摸屏的javascript web应用程序,浏览器是基于webkit的.
我遇到了这个问题:
addEventListener("mousedown", function(event){
console.log('down fired');
event.target.classList.add('down');
}, true);
Run Code Online (Sandbox Code Playgroud)
使用鼠标时,在按住鼠标时会立即添加目标元素类,但在使用触摸屏时,当手指放在元素上时,目标元素类不会更改.
然而,奇怪的是,控制台日志消息是在鼠标单击和按下按钮的向下事件上发送的.
关于如何解决这个问题的任何建议?
谢谢
我添加了touchstart事件监听器,但它不会触发触摸事件:
addEventListener("touchstart", function(event){
cl('touch fired');
}, true);
Run Code Online (Sandbox Code Playgroud)