返回false不阻止点击

时间:2015-03-29 20:48:08

标签: javascript jquery html

我有这个jquery来防止点击,但它不起作用,为什么?

HTML

<a href="page.htm?action=addtofav&amp;id=556" class="fav-auto">
<div class="favno button-com color">Favorite</div></a>

的Javascript

$(document).ready(function() { 

        $(document).on("click","a.fav-auto",function(e) {
           $.get($(this).attr("href"),function(fav-lin) {
              var fav-pos = $(fav-lin).find('.fav-mess-in');
              var fav-pis2 = $(this).attr("href");
              $('fav-mess').empty();
              $('fav-mess').append(fav-pos);
              $('fav-mess').append(fav-pos2);
           });
              return false;
          });
}); 

1 个答案:

答案 0 :(得分:1)

return false确实可以正常运行,但您的代码中存在一些语法错误。

首先,我认为$('fav-mess')应该是 $('.fav-mess') id $('#fav-mess')选择器,而不是< em>标记选择器。

接下来,您必须更改fav-posfav-pos2fav-lin个变量 您不能在变量声明中使用-(减号)运算符 - 这是语法错误(javascript将它们解释为数学运算:fav 减去 { {1}}):

pos

将它们替换为类似的内容(在var fav-pos = $(fav-lin).find('.fav-mess-in'); var fav-pos2 = $(this).attr("href"); 元素上使用了类,因为我不确定您选择了什么):

'fav-mess'

PS。尽可能使用chaining,这样您就不必多次为单个元素遍历DOM:

$.get($(this).attr("href"),function(fav_lin) {
    var fav_pos = $(fav_lin).find('.fav-mess-in');
    var fav_pos2 = $(this).attr("href");
    $('.fav-mess').empty();
    $('.fav-mess').append(fav_pos);
    $('.fav-mess').append(fav_pos2);
});