我有这个jquery来防止单击,但是它不起作用,为什么?
的HTML
<a href="page.htm?action=addtofav&id=556" class="fav-auto">
<div class="favno button-com color">Favorite</div></a>
Java脚本
$(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;
});
});
最佳答案
return false
确实可以正常工作,但是您的代码中存在一些语法错误。
首先,我认为$('fav-mess')
应该是类$('.fav-mess')
或id $('#fav-mess')
选择器,而不是标签选择器。
接下来,您必须更改fav-pos
,fav-pos2
和fav-lin
变量。
您不能在变量声明中使用-
(减号)运算符-这是一种语法错误(javascript将它们解释为数学运算:fav
减pos
):
var fav-pos = $(fav-lin).find('.fav-mess-in');
var fav-pos2 = $(this).attr("href");
将它们替换为以下内容(由于不确定所选择的内容,所以在
'fav-mess'
元素上使用了类):$.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);
});
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");
// chain the element manipulation:
$('.fav-mess').empty().append(fav_pos).append(fav_pos2);
});
关于javascript - 返回false不阻止点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29334658/