首次点击后href没有运行,但onclick确实没有

时间:2018-02-21 11:14:28

标签: javascript jquery html css

我有这个按钮打开一个模态。

我在模态中打开一个新页面,并在调用新页面之前再进行一次api调用处理。

<a class="btn btn-primary" type='button' id="btn_prev" onclick="prev({{charm_id}})" data-toggle="modal" data-toggle="modal" data-target="#innerModal" href="{% url 'gifcharm:showpreview' %}">Preview</a>

这是我的按钮元素。

首先,我使用onclick进行api调用,然后在onclick之后,href加载新页面。

现在,问题是,

当我第一次点击按钮时,onclick和href都有效。 onclick执行后台处理,href很好地加载新内容。

但是在第一次通话之后,只有onclick工作,href调用永远不会发生。随着我的内容在一段时间后发生变化,我需要再次调用href以便加载新内容。

但是相同的旧内容会继续加载,而新内容永远不会加载。 为什么会这样?

编辑 - 附加JS文件。

function prev( charm_id){
var imageselected=[];
$("input:checkbox").each(function(){
    var $this = $(this);
    if($this.is(":checked")){
        imageselected.push($this.attr("id"));
    }
});

console.log(imageselected);
var url_creategif = "http://localhost:8000/gifcharm/convert_to_gif/" + charm_id;
console.log(url_creategif);

                    jQuery.ajax({
                                type: "GET",
                                url: url_creategif,
                                cache:false,
                                data: {
                                  'images': imageselected
                                },
                                success: function(data){
                                  if(data == "0"){
                                      alert("Problem Creating Gif");
                                  }else{
                                    //alert("Circle Image is successfully created");
                                  }
            }
          });
//url = "http://localhost:8000/gifcharm/showpreview";
};

1 个答案:

答案 0 :(得分:0)

如果同一标签中存在点击事件和href事件,则onclick事件优先。

return true;功能结束时添加prev声明,一旦您完成了其中的任何操作。一旦函数返回true,href就会执行。如果点击回调没有返回任何内容或返回false,则href将被忽略。