Javascript 新元素函数的问题
我在我的一个项目中有投票功能。请参阅下面的代码Javascript 新元素函数的问题,javascript,jquery,Javascript,Jquery,我在我的一个项目中有投票功能。请参阅下面的代码 $(function () { $(".vote").click(function () { var id = $(this).data("id"); var name = $(this).data("name"); var dataString = 'id=' + id; //var dataId = id; var parent = $(this);
$(function () {
$(".vote").click(function () {
var id = $(this).data("id");
var name = $(this).data("name");
var dataString = 'id=' + id;
//var dataId = id;
var parent = $(this);
if (name == 'up') {
$(this).fadeIn(200).html;
$.ajax({
type: "POST",
url: "vote_up.php",
data: dataString,
cache: false,
success: function (html) {
parent.parent().find(".display-vote").html(html);
}
});
} else {
$(this).fadeIn(200).html;
$.ajax({
type: "POST",
url: "vote_down.php",
data: dataString,
cache: false,
success: function (html) {
parent.parent().find(".display-vote").html(html);
}
});
}
return false;
});
});
我正在使用jqueryinfinite scroll
加载其余的页面/帖子。我在主页面和第二页中使用了以下代码,我加载了其余的数据
('#left').infinitescroll({
navSelector: '#page-nav', // selector for the paged navigation
nextSelector: '#page-nav a', // selector for the NEXT link (to page 2)
itemSelector: '.post-box', //
}, function (newElements, data, url) {
$(".vote").click(function () {
var id = $(this).data("id");
var name = $(this).data("name");
var dataString = 'id=' + id;
//var dataId = id;
var parent = $(this);
if (name == 'up') {
$(this).fadeIn(200).html;
$.ajax({
type: "POST",
url: "vote_up.php",
data: dataString,
cache: false,
success: function (html) {
parent.parent().find(".display-vote").html(html);
}
});
} else {
$(this).fadeIn(200).html;
$.ajax({
type: "POST",
url: "vote_down.php",
data: dataString,
cache: false,
success: function (html) {
parent.parent().find(".display-vote").html(html);
}
});
}
return false;
});
});
问题发生在第二次、第三次或任何其他页面加载之后,投票功能将触发两次。如何解决此问题。任何帮助都将不胜感激。再次绑定之前,您需要解除单击事件的绑定 [……] [……] 或 [……] [……]
根据您使用的jQuery版本而定。如果您解除单击事件的绑定,然后将其绑定,则可能会发生这种情况
function(newElements, data, url){
$(".vote").unbind( "click" );
$(".vote").click(function() {
我正在使用jquery1.8.1。您能告诉我应该在哪个位置解除绑定click函数吗?函数(新元素、数据、url){$(“.vote”).off(“click”).click(函数(){var id=$(this.data(“id”);
$(".vote").off('click').click(function()
function(newElements, data, url){
$(".vote").unbind( "click" );
$(".vote").click(function() {