当前位置: 首页 > 面试题库 >

使用ajax调用时,如何截取与jQuery的链接?

宦炜
2023-03-14
问题内容

我可能正在做一些愚蠢的事情。但是,如果我有一个像这样的普通链接:

<div id="changeMe"></div>
<a href="/Not/Intercepted" id="interceptMe">A link</a>

然后将jQuery click事件附加到链接,如下所示:

$('#interceptMe').click(function() {
  $('#changeMe').text('Changed');
  return false;
});

一切正常。该页面并 没有 重定向到/不/拦截,这就是我认为是正确的。

现在…

我将$ .get之类的ajax调用引入了click事件,现在我的页面将被错误地重定向到该页面,这实际上覆盖了ajax调用。

$('#interceptMe').click(function() {
  $.get('/Ajax/Call', goesIn, function(comesOut) {
  $('#changeMe').html(comesOut);
    }, "html");
  return false;
});

有没有一种方法可以使jQuery或javascript仍然拦截链接单击,使其不会转到href页面?我想为那些未启用javascript的用户保留href。TIA!


问题答案:

代替返回false,使用…。

$("#interceptMe").click(function(event){

    event.preventDefault();

    // Ajax here

    return false; //for good measure
});

http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29

我有很多与IE有关的问题,尤其是不听返回false的问题。显然其他人也有http://coffeeandpaste.blogspot.com/2009/02/javascript-
onclick-return-false-
does.html



 类似资料:
  • 问题内容: 我需要发出一系列N ajax请求而不锁定浏览器,并且想要使用jquery延迟对象来完成此操作。 这是一个具有三个请求的简化示例,但是我的程序可能需要排队100个以上(请注意,这不是确切的用例,实际代码的确需要在执行下一个步骤之前确保步骤(N-1)的成功步): 这是写入控制台的内容(所有请求都是并行进行的,响应时间与预期的每个国家/地区的数据大小成正比: 我怎样才能让延期的对象为我排队呢

  • 下面的问题-我必须多次调用ajax函数,当所有函数完成后,将所有结果放入数组。我想到了这个: 在这里小提琴:http://jsfiddle.net/Fkd9n/ 一切似乎都很正常,“console.log(data)”用响应文本写出对象,但“console.log(val.name)”总是“未定义”。那么,一旦所有调用完成,如何将所有结果合并到一个数组中呢? 谢谢你!

  • 问题内容: 接下来的问题-我必须多次调用ajax函数,当所有函数完成时,将所有结果放入数组。我想出了这个: 在这里提琴:http : //jsfiddle.net/Fkd9n/ 一切似乎都工作正常,“ console.log(data)”用响应文本写出对象,但是“ console.log(val.name)”始终为“未定义”。那么一旦所有调用完成,如何将所有结果合并到一个数组中呢? 谢谢! 问题答

  • 我无法使用jQuery行打印下面代码中的success。支持cors=true;。包括jQuery行。支持cors=真;将发出警告信息。那么,如何在不丢失功能的情况下避免这种情况呢?我的主要目标是调用一个返回JSON数据的RESTWeb服务,我必须利用JSON数据。请帮助我如何做到这一点。请提供工作样品

  • 问题内容: 因此,我正在研究一种可以长时间显示页面请求的工具。 我通过使用jQuery Ajax(http://api.jquery.com/jQuery.ajax/)来做到这一点,并且我想找出获得响应时间的最佳方法。 我找到了一个描述在JavaScript中使用“日期”的线程(http://forum.jquery.com/topic/jquery-get-time- of-ajax-post)

  • 问题内容: 我一直在努力使AJAX与Jquery一起使用。到目前为止,我最大的问题是我真的不知道如何弄清楚我在哪里犯错。我真的没有调试AJAX调用的好方法。 我正在尝试建立一个管理页面,其中我要执行的功能之一就是更改SQL数据库中设置的权限。我知道.click函数正在被触发,因此我将其范围缩小了,但是我不确定从AJAX调用到SQL查询的链在哪里出了问题。 我的.js代码: 我的.php处理程序: