所以我刚开始接触事件代表团,我还是被它弄得相当,但这里有云:事件委托不工作的jQuery
我有一个按钮,这增加了在阿贾克斯的评级,再次点击我'喜欢它去除评分,这里是带注释的代码(并且删除了一些部分以使其看起来更清晰)。
$(document).on("click", '.add_rating', function() {
l.start();
var input = $(this).prev().children('.my_rating');
var score = input.val();
var what_do = input.attr('action_type');
var cur_average = $('.current_average').val();
var data = {};
data.score = score;
data.media_id = <?php echo $title_data->media_id; ?>;
data.what_do = what_do;
$.ajax({
dataType: "json",
type: 'post',
url: 'jquery/actions/add_remove_rating',
data: data,
success: function(data) {
if (data.comm === 'success') {
//do some other stuff there, irrelevant
$('.ladda-button').removeClass('btn-primary');
$('.ladda-button').removeClass('btn-sm');
$('.ladda-button').addClass('btn-danger btn-xs');
$('.ladda-label').html('Remove');
$('.ladda-button').addClass('remove_rating'); <-- add the remove rating class I want to call if the button is clicked again
input.attr('action_type', 'remove_rating');
l.stop();
}
}
});
$('.remove_rating').on('click', function() { <-- this doesn't work, why?
alert('remove was clicked');
});
});
我似乎无法触发此:
$('.remove_rating').on('click', function() { <-- this doesn't work, why?
alert('remove was clicked');
});
任何帮助表示赞赏!
编辑:在附注中,我实际上并不需要这样做,因为php会根据action_type属性删除或添加分数。我只是想知道为什么它不会触发。
非常有帮助,谢谢。 – Callombert 2014-10-11 14:43:06