相关疑难解决方法(0)

在没有jQuery mobile的移动设备上使用mousedown事件?

我已经构建了一个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 jquery mouseevent jquery-mobile

26
推荐指数
3
解决办法
5万
查看次数

触摸屏和Javascript DOM Mousedown事件

我有一个使用触摸屏的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)

javascript dom

7
推荐指数
3
解决办法
1万
查看次数

标签 统计

javascript ×2

dom ×1

jquery ×1

jquery-mobile ×1

mouseevent ×1