モバイルデバイスのホバー効果をシミュレートする方法を理解しようとしています。私は周りを検索したが、どれもうまくいかないようだ。モバイルタッチデバイス(iPhone、Android、Windows)のホバー効果
私はモバイルホバー効果を持つようにしようとしている要素は、ホバーで色を変えるリンクです。
モバイルデバイスのホバー効果をシミュレートする方法を理解しようとしています。私は周りを検索したが、どれもうまくいかないようだ。モバイルタッチデバイス(iPhone、Android、Windows)のホバー効果
私はモバイルホバー効果を持つようにしようとしている要素は、ホバーで色を変えるリンクです。
実際に市場に出ている新しいスマートフォンは、JSを動作させるためにJSを呼び出すことなくホバーをサポートします。 a:hoverアンカー擬似クラスとの通常のリンクは、スマートフォンがホバー「ジェスチャー」をサポートしている限り、ホバーアクションを達成します。
http://developer.sonymobile.com/knowledge-base/technologies/floating-touch/
良い点、それはよくあなたがテストしている実際の携帯電話にやるべきことがたくさん持っていることがあります。私は通常、:hover
または:focus
の状態をトリガーすることにより、長押しと滑りオフ(したがって、onMouseUp
イベントはありません)に対応していると思われるアンドロイドでテストします。
本当にこの状態を引き起こす可能性は低いですが、それは価値があるのですか? :Hover
は、デスクトップでマウスを使用するように設計されているため、これらのやりとりをモバイルで複製することは生産性が低いようです。
onMouseUp
イベントをトリガーせずにホバー状態をトリガーするのは難しいため、モバイルにとって本当に面白いインタラクションを実現しようとすると、クリックが可能なリンクがない要素を使用する方が良いかもしれませんリンクをトリガーすることなく。
jQueryにはevent.preventDefault()
があり、他のニーズに役立つ場合があります。
Adamのアドバイスをありがとう!私は今のところメディアクエリを使うかもしれません。 –
マウスオーバーに我々は、我々が使用したい場合はその要素がドラッグアンドドロップすることができますが、HTML5 でこのオーバーライドdraggable = true
二つの重要な機能droppable(); and draggable();
を取得し、UIのjsから、jquery-ui.js
とjquery.ui.touch-punch.min.js
を使用する必要がJavaScriptで効果を与えるためにHTML5では、私たちはdekstopで同じコードだけでなく、モバイル
今第二の重要なポイントを実行することができます
//media query
var mq = window.matchMedia("(max-width: 992px)");
if (mq.matches) {
// window width is at less than 992px
jqueryobject.draggable();
}
else {
// window width is at gratet than 992px
}
を次のように同じdekstopのコードだけでなく、携帯電話は、私たちが異なるためdragstart(), dragleave(), dragover(), drop()
を使用して使用しますoprationドラッグ&ドロップする関連するが、モバイルでは、我々は我々がjquery.ui.touch-punch.min.js
から取得し、ドラッグ&ドロップのためのtouchstart(), touchmove(), touchend() and touchcancel()
を必要ですが、効果の上にマウスのために、我々は
<div id=drag_el > and <div id=drop_el>
を次のように私たちはイベントtouchmove要素をドラッグすると、ロジックを使用する必要がありますので、火でありますその使用で
var elementTouching = document.elementFromPoint(first.clientX,first.clientY);
if(elementTouching.id == "drop_el") {
//apply u'r css effect like
elementTouching.style.zoom = "120%";
}
else{
// apply normalize effect of css like
elementTouching.style.zoom = "100%";
}
これは、あなたにmoseoverにズーム効果を与えます。
1+私は同じことを理解しようとしています。それが答えを得られないなら、私はそれに恩恵をかけます。 –
よかった、ありがとう! –
可能な複製http://stackoverflow.com/questions/2851663/how-do-i-simulate-a-hover-with-a-touch-in-touch-enabled-browsers –