大家好J在 Javascript 有问题。这是代码,
function reply_click(clicked_id) {
var la = <? php echo json_encode($logOptions_id); ?> ;
var mood = clicked_id;
$.post('msg.php', {
myne: la,
mood: mood
}, function (data) {
$('#nov').html(data);
});
$('#postDiv').on('keydown', '#textarea', function (e) {
if ((e.which == 13) && !event.shiftKey) {
var textarea = $("#textarea").val();
$.post('pst.php', {
mibe: la,
voot: mood,
pst: textarea
}, function (data) {
var textarea = $("#textarea").val('');
});
}
});
}
问题是,当我点击项目后我得到clicked_id
,发布消息后,确定,但是再一次点击该项目,我获得第二个ID,然后在发布后输入按钮后发布到< strong>数据库第一项和第二项的差异ID,似乎重复值,我点击不同项目的次数,得到不同的ID,这个问题是垃圾邮件我的数据库。
答案 0 :(得分:3)
每次单击该按钮,都会向keydown
添加另一个#textarea
绑定。因此,如果您单击按钮5次,那么当您按Enter键时,keydown绑定将运行5次。
您应该将$('#postDiv').on('keydown', '#textarea', ...)
移到函数外部,然后在文档就绪处理程序中执行一次。