简体   繁体   English

Mouseout在Android网页上不起作用

[英]Mouseout not working on Android webpage

I am trying to rewrite my webpages to display properly on a smartphone. 我正在尝试重写我的网页以在智能手机上正确显示。 In my testing I cannot get a dropdown menu to disappear when the mouse moves out of the div of the dropdown menu. 在我的测试中,当鼠标移出下拉菜单的div时,我无法使下拉菜单消失。 Below is my code: 下面是我的代码:

   <script type="text/javascript">
    function expandMenu() {
        document.getElementById("moreMenu").style.display = "block";
    }

    function hideMenu() {
        document.getElementById("moreMenu").style.display = "none";
    }

</script>

.......

  <div  class="medianfont"><a href="news/pastnews.aspx">News &nbsp; - </a><a href="email.aspx"> Email &nbsp; - </a><a href="pastedit.aspx">Editorials &nbsp; - </a>
  <span style="cursor:pointer; color:blue" onclick="expandMenu()"> More</span><br />
    <div id="moreMenu" style="display:none; margin-left:14em;" onmouseout="hideMenu()" onclick="hideMenu()">
        <a href="histart.htm">History </a><br />
        <a href="calendar.aspx">Events </a><br />
    </div>
</div>

It works ok when testing on my desktop but in testing on my Android phone, the dropdown menu will appear but no amount of clicking will make it go away even though the links do work. 在我的台式机上进行测试时可以正常使用,但在Android手机上进行测试时,将显示下拉菜单,但是即使链接可以正常工作,单击鼠标也不会消失。 So is there a way to get a dropdown menu to disappear on a smartphone similar to a desktop? 那么,有没有办法让下拉菜单在类似于台式机的智能手机上消失呢? I am not coding in Android, I am merely displaying the webpage on a smartphone. 我不是用Android进行编码,而只是在智能手机上显示网页。

There is no mouseout for mobile devices since there is no mouse. 因为没有鼠标,所以移动设备没有鼠标移出。

Suggest using a mobile framework or at least reading up on the available events. 建议使用移动框架或至少阅读可用事件。

http://api.jquerymobile.com/category/events/ http://api.jquerymobile.com/category/events/

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Events/Touch_events https://developer.mozilla.org/zh-CN/docs/Web/Guide/DOM/Events/Touch_events

What about using blur? 那使用模糊呢?

Here is a demo using blur. 这是一个使用模糊的演示。 I tested this on an Android device. 我在Android设备上对此进行了测试。

HTML 的HTML

<div id="menu" onclick="expandMenu();" onblur="hideMenu();">Menu</div>
<div id="moreMenu" tabindex="-1" onblur="hideMenu();">
    <div>Item</div>
    <div>Item</div>
    <div>Item</div>
</div>

JavaScript (No JQuery) JavaScript (无JQuery)

function expandMenu() {
    document.getElementById("moreMenu").style.display = "block";
    document.getElementById("moreMenu").focus();

}

function hideMenu() {

    document.getElementById("moreMenu").style.display = "none";
}

CSS 的CSS

#moreMenu {
    width:100px;
    height:400px;
    border: 1px solid blue;
    display: none;
    outline: none;
}

#menu {
    outline: none;
    background: #e5e5e5;
    width: 100px;
}

See jsFiddle Demo... 参见jsFiddle演示...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM