我有以下jQuery函数:
当我尝试输入一个条目时,就会发生这种情况:
我认为这意味着模糊事件和点击事件相互干扰?
你可以找到一个问题的小提琴这里.当你按下按钮与字段聚焦,它模糊的字段,但没有进入它。当您按下该字段模糊的按钮时,条目将被提交。
有什么想法吗?
发布于 2012-12-26 16:30:15
$('.entryButton').on('click', function (e) {
return false; // to prevent default form post
});
$("form").delegate('.entryButton','mousedown', function() {
$('textarea').trigger('blur');
var form = $(this).closest("form");
var id = form.attr('id');
var text = form.find("textarea").val();
$("#test").append(text);
//Prevent the form from being submitted (default HTML)
return false;
});像以前一样保持焦点和模糊功能。
thanks.发布于 2012-12-26 16:14:20
您的问题是click会在mouseup上的按钮上触发,但是当您更改高度时,当mouseup发生时,鼠标就不再在按钮上的位置了。使用mousedown而不是click,然后在textarea上使用trigger('blur')来实现这两个事件。
注意:您仍然需要一个click事件,这样您就可以通过return false取消默认的表单提交函数。
小提琴
发布于 2013-07-08 21:04:41
这里的问题是blur事件,它比click事件工作得更快。这就是为什么它使字段变小,而不是先提交表单。
您只需要将第一行从click更改为mousedown
$(".content").delegate('.entryButton','mousedown', function() {
// your code
});或者:
$(".content").bind('mousedown', function() {
// your code
});https://stackoverflow.com/questions/14042549
复制相似问题