onClick(在下拉菜单中)调用javascript函数在手机浏览器上不起作用

onClick (in drop menu) calling javascript function doesn't work on Phone browser

本文关键字:手机 函数 浏览器 不起作用 javascript 调用 下拉菜单 onClick      更新时间:2023-09-26

在我的网页中,我有一个普通的菜单,现在我正在通过添加下拉菜单来定制它,以便在使用智能手机时轻松导航。onClick在PC浏览器上工作,但在手机上不起作用。OnClick调用一个javascript函数来显示一段隐藏在HTML中的div。

下面的代码包括下拉菜单(一个在PC上工作,但不能在智能手机上)和正常菜单(在PC或手机上都工作)

我尝试用OnSelect替换onClick,但是没有成功。

代码的主要组成部分(https://dl.dropboxusercontent.com/u/4301151/test.html):

    <style>
    .hidden { display: none; }
    </style>
    <script type="text/javascript">
        function toggleVisibility(newSection) {
        $(".hidden").not("#" + newSection).hide();
        $("#" + newSection).show();
        }
       function changeFunc($i) {
        alert($i);
       }
    </script>
</head>
<body>
    <select onchange="changeFunc(onClick);">
     <option onclick="toggleVisibility('page1');">option1</option>
     <option onclick="toggleVisibility('page2');">option2</option>
    </select>
    <a href="#" onclick="toggleVisibility('page1');">PAGE1</a>
    <a href="#" onclick="toggleVisibility('page2');">PAGE2</a>
    <div id= "page1" class="hidden">
    this is page 1
    </div>
    <div id= "page2" class="hidden">
    this is page 2
    </div>
</body>
</html>

这应该是您所需要的。当选择改变时,它调用"toggleVisibility"并告诉它要显示哪个页面。假设你的javascript确实可以工作,那么这将工作。

<select onchange="toggleVisibility(this.value);">
    <option selected="selected">Please choose a page</option>
    <option value="page1">option1</option>
    <option value="page2">option2</option>
</select>
<a href="#" onclick="toggleVisibility('page1');">PAGE1</a>
<a href="#" onclick="toggleVisibility('page2');">PAGE2</a>
<div id= "page1" class="hidden">
    this is page 1
</div>
<div id= "page2" class="hidden">
    this is page 2
</div>
<style>
.hidden { display: none; }
</style>
<script type="text/javascript">
    function toggleVisibility(newSection) {
        $(".hidden").not("#" + newSection).hide();
        $("#" + newSection).show();
    }
    function changeFunc($i) {
        alert($i);
    }
</script>

值得注意的是,有些浏览器根本不允许javascript。