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なしで機能させる方法はありますか?