3

サイトに JavaScript ドロップダウン メニューがありますが、iPhone/iPad では動作しません。これらのデバイスで動作するようにコードを変更する方法を知っている人はいますか? (たとえば、メニューは正常に動作するブラックベリー)。

JS ファイル:

var timeout         = 500;
var closetimer      = 0;
var ddmenuitem      = 0;

// open hidden layer
function mopen(id)
{   
    // cancel close timer
    mcancelclosetime();

    // close old layer
    if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

    // get new layer and show it
    ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';

}
// close showed layer
function mclose()
{
    if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
    closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
    if(closetimer)
    {
        window.clearTimeout(closetimer);
        closetimer = null;
    }
}

// close layer when click-out
document.onclick = mclose; 

ドロップダウンの HTML:

<ul id="rentals">
    <li><a href="#" 
        onmouseover="mopen('m1')" 
        onmouseout="mclosetime()">Verhuur</a>
        <div id="m1" 
            onmouseover="mcancelclosetime()" 
            onmouseout="mclosetime()">
        <a href="shortterm2bed1.html">2 Slk. Vakantie <font color="172983">&nbsp;|     </font></a>
        <a href="shortterm3bed1.html">3 Slk. Vakantie <font color="172983">&nbsp;| </font></a>
        <a href="longtermrentals1.html"> Lange Termijn</a>
        </div>
    </li>
</ul>

どんな助けでも大歓迎です。

4

3 に答える 3

1

mouseoveriOS はまたはをサポートしていませんmouseouttouchstartとを使いたくなるでしょうtouchend。すなわち;

<div id="m1" 
    touchstart="mcancelclosetime()" 
...>

Apple の Javascript の Dev Guide へのリンクは次のとおりです。

お役に立てば幸いです。

于 2012-06-22T17:29:31.133 に答える
0

Ipad/Iphone は、onmouseover、onmouseout イベントをサポートしていません。

サポートされているイベントについては、このページをご覧ください。

http://backtothecode.blogspot.ca/2009/10/javascript-touch-and-gesture-events.html

おそらくonclickに変更できます。

于 2012-06-22T17:22:44.960 に答える
0

ドロップダウンを作成する GoLive Menumachine でも同じ問題が発生することがわかりました。モバイル デバイスではドロップダウンは表示されません。メインメニューボタンをページにリンクすると、機能し始めました。つまり、[サービス] > [修理とサービス] > [更新] がある場合、iPad と iPod でドロップダウンを機能させるには、サービスをページにリンクさせる必要がありました。理由を聞かないでください。

于 2013-01-11T21:33:29.710 に答える