JQuery Mobile重复Js / Js在其他页面中不起作用

时间:2014-07-08 08:23:13

标签: javascript jquery ajax jquery-mobile

我在Jquery移动设备上实现Javascript时遇到问题,每次从页面返回时,javascript都会重复。

以下是示例代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JS duplicated page1</title> 

<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<link rel="stylesheet" href="css/style-mobile.css">

<script src="js/tes.js"></script>
</head>
<body>
    <div class="demo-wrapper" data-role="page" data-theme="a" id="page1"> 
        <div class="header" data-role="header" style="position:fixed; background-color:#004165;">
    <div id="div1">
        <span class="right">Click me</span>
        <div id="option"><span style="color:white;">A B C</span></div>
    </div>
</div>
<div id="separator" style="height:100px;"></div>
    <a href="jsduplicate2.html" data-transition="slide">Go to page2</a>
    </div>
</body>

这是另一页:

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JS duplicated page2</title> 

<meta name="viewport" content="width=device-width, initial-scale=1"> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<link rel="stylesheet" href="css/style-mobile.css">
</head>
<body>
    <div class="demo-wrapper" data-role="page" data-theme="a" id="page2"> 

    <div class="header" data-role="header" style="position:fixed; background-color:#004165;">
    <div id="div1">
        <span class="right">Click me</span>
        <div id="option"><span style="color:white;">A B C</span></div>
    </div>
</div>
<div id="separator" style="height:100px;"></div>
    <a href="jsduplicate1.html" data-transition="slide">Go to page1</a>

</div>
</body>
</html>

这是自定义JS:

$( document ).on( "pageshow", function() {
$(".header #option").toggle('inactive');
$(".header #option").hide();
$(".right").click(function(){   
    $(".header #option").toggle('inactive'); 
    $(".header #option").show();
});
    });

每次我从第2页回来时,点击它时,切换运行2次。

如果我只在第1页初始化JS,当导航到page2时,js不起作用。 请帮忙..

1 个答案:

答案 0 :(得分:0)

第2页没有脚本标记,因此没有加载。只需添加即可。

<head>
 <script src="js/tes.js"></script>
</head>

Demo正在为我工​​作。