簡體   English   中英

用於單擊鏈接的javascript不起作用,但在重新加載頁面后起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM