首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于单击链接的javascript不起作用,但在重新加载页面后可以起作用

用于单击链接的javascript不起作用,但在重新加载页面后可以起作用
EN

Stack Overflow用户
提问于 2013-12-27 18:12:26
回答 4查看 1.1K关注 0票数 1

我有一个html页面,在头部我引用了js文件。

代码语言:javascript
复制
<head>
   <script src="/queue.js"></script>
</head>

在身体里我有一个链接

代码语言:javascript
复制
<a href="#" onclick="get_ajax()">click me</a>

js文件如下所示(使用jQuery)

代码语言:javascript
复制
function get_ajax(){
    $.get("/queue/get_ajax", function(data){
       $("#div_id").html(data);
    });
}

单击该链接不会触发js函数,但重新加载页面会使其正常工作。

这个问题是由我引用js文件的方式引起的吗?

这是一个rails 4应用程序的页面。

完整的头部是这样的

代码语言:javascript
复制
 <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>

EN

回答 4

Stack Overflow用户

发布于 2013-12-27 18:26:41

尝尝这个

更改js文件的顺序(首先是库)

代码语言:javascript
复制
<script src="jquery/jquery-1.8.3.min.js"></script>
<script src="/queue.js"></script>

然后

代码语言:javascript
复制
<a href="javascript:void(0)" onclick="get_ajax()">click me</a>
票数 1
EN

Stack Overflow用户

发布于 2013-12-27 18:18:43

而不是:

代码语言:javascript
复制
<a href="#" onclick="get_ajax()">click me</a>

使用以下命令:

代码语言:javascript
复制
<a href="javascript:void(0)" onclick="get_ajax()">click me</a>

javascript:void(0)将停止以重新加载页面。

票数 0
EN

Stack Overflow用户

发布于 2013-12-27 18:24:24

要防止页面重新加载,您还可以这样做:

代码语言:javascript
复制
<a href="#" onclick="get_ajax(event)">click me</a>
代码语言:javascript
复制
function get_ajax(e) {
    e.preventDefault();
    $.get("/queue/get_ajax", function(data){
        $("#div_id").html(data);
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20798783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档