![](/img/trans.png)
[英]Reloading a page won't work after calling a javaScript alert in PHP
[英]javascript for clicking on a link doesn't work, but works after reloading the page
我有一個html頁面,在頭部,我指的是js文件
<head>
<script src="/queue.js"></script>
</head>
在體內,我有一個聯系
<a href="#" onclick="get_ajax()">click me</a>
js文件如下(使用jQuery)
function get_ajax(){
$.get("/queue/get_ajax", function(data){
$("#div_id").html(data);
});
}
單擊鏈接不會觸發js函數,但是重新加載頁面使其可以正常工作。
是我引用js文件的方式引起的問題嗎?
這是Rails 4應用程序的頁面。
滿腦子就像
<head>
<title>XXXX</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="jquery/jquery.mobile-1.2.1.min.css" />
<link rel="stylesheet" href="my.css" />
<script src="/queue.js"></script>
<script src="jquery/jquery-1.8.3.min.js"></script>
<script src="jquery/jquery.mobile-1.2.1.min.js"></script>
</head>
當我在瀏覽器中檢查頁面源代碼時,我發現生成的html頁面不包含<script src="/queue.js"></script>
嘗試這個
更改js文件的順序(庫優先)
<script src="jquery/jquery-1.8.3.min.js"></script>
<script src="/queue.js"></script>
然后
<a href="javascript:void(0)" onclick="get_ajax()">click me</a>
代替:
<a href="#" onclick="get_ajax()">click me</a>
用這個:
<a href="javascript:void(0)" onclick="get_ajax()">click me</a>
javascript:void(0)將停止重新加載頁面。
為了防止重新加載頁面,您還可以執行以下操作:
<a href="#" onclick="get_ajax(event)">click me</a>
function get_ajax(e) {
e.preventDefault();
$.get("/queue/get_ajax", function(data){
$("#div_id").html(data);
});
}
在包含jquery之前,您將包含使用jquery的js文件。 因此,在解析queue.js時,頁面不知道您在說什么。
首先包含jquery,然后包含queue.js,它應該可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.