2011-08-24 93 views
0

我有一个表格。在它里面我有一个textarea,当点击时它会扩展。 但有一点问题: 当用户尝试提交表单(单击提交按钮)时,textarea会跳回到其正常大小。这是因为它使用了onblur函数。我想消除这种尴尬,因为用户必须点击提交按钮两次才能提交表单。我该如何解决这个onclick-onblur问题?

我该怎么做才能让它一键工作?

+2

你有任何代码发布? –

+0

嗯,我认为这个问题可以在没有发布代码的情况下解决,但是如果你需要这段代码的话就通知我。 – Akos

+1

如果你可以在http://jsfiddle.com/上发表小提琴肯定会有帮助,因为一个例子通常会说一千多个单词。 – pimvdb

回答

4

您可以在一个日渐文本区域中的onblur处理程序短超时:

document.getElementById("textareaID").onblur = function() { 
    var target = this; 
    setTimeout(function() { 
     //Code to shrink the textarea, use "target" instead of "this" for scoping reasons. 
    }, 250); 

} 
3
textArea.addEventListener('blur', function(e) { 
    e.preventDefault(); 
    return false; 
}, true); 

这会监听器添加到blur事件,这将阻止任何其他信息发射,包括什么它是造成该textarea重新调整大小。尽管如此,它会更容易让你而不是添加blur钩子,而不是以这种方式捕捉它。