我有一个Feed,在文档准备好后使用AJAX加载帖子。因为元素在代码执行时还没有准备好,所以我必须使用委托来绑定很多函数。
$(posts).delegate('.edit_comment_text','keyup',function(e){
return false;
if (e.keyCode == 13 && e.shiftKey == false) {
//Post the new comment and replace the textbox with a paragraph.
var message_area = $(this).parent('.comment_message');
var new_message = $(this).val();
var comment_id = $(this).closest('.group_comment').attr('data-comment');
var url = 'functions/edit_comment.php';
var array = {
'comment':comment_id,
'message':new_message
}
$.post(url, array, function(data){
console.log(data);
$(message_area).html("");
$(message_area).text(new_message);
});
}
})
这是我在事件上执行的代码。当用户点击进入时,我一直试图让浏览器停止下线,但是在我的代码被触发之前执行此操作。为了证明这一点,我把'return false'放在了块的最顶端。在这个例子中,当用户点击进入时,我的代码都没有运行,但是textarea仍然会删除一行。
是否与JQuery的委托有关,导致我的函数在默认事件后被调用?他们提供了防止文档中的默认事件的示例,所以可能是版本错误或什么?
有人有什么想法吗?
谢谢!