在<a href="url_of_data"> click

时间:2017-06-19 10:06:08

标签: javascript jquery html

I'm currently loading my page data dynamically clicking on an element like this:

<a onclick="load('url_of_data')">Some Text</a>

But for a better UX I now want to have an element like this:

<a href="url_of_data">Some Text&</a>

and then just use preventDefault like this;

$("a").click(function(e){
    var self = $(this);
    var href = self.attr('href');
    e.preventDefault();

    load(href);         
});

I got this code from this问题上加载动态数据。

但它不起作用,该网站仍在重新加载而不是运行该功能。

我现在每次加载动态内容时都应用点击处理程序,并且工作正常。

5 个答案:

答案 0 :(得分:0)

您需要指定要将内容加载到的容器div。

$("a").click(function(e){
    var self = $(this);
    var href = self.attr('href');
    e.preventDefault();

    //Replace "self" with the container you want to load the content into, e.g. $("#myDiv").load(href);
    self.load(href);         
});

答案 1 :(得分:0)

您需要在功能结束时添加return false

$("a").click(function(e){
   var self = $(this);
   var href = self.attr('href');
   e.preventDefault();

   load(href);
   return false;         
});

答案 2 :(得分:0)

我认为这将成功。

$('a').click((e) => {
    e.preventDefault(); 
    const href = $(e.currentTarget).attr('href');

    window.location.href = href;
});

答案 3 :(得分:0)

每次加载动态内容时,我只需要重新应用点击处理程序。

现在它正常工作

答案 4 :(得分:-1)

$("a").click(function(e){
   var self = $(this);
   var href = self.attr('href');

  window.location.assign(href);
});

它可以帮助你