检测光标位置

时间:2009-10-28 06:55:55

标签: javascript jquery cursor

我有25个组件,包括[textarea,textfile,radio,combo等...],我写了一个关键事件,这样当输入“ENTER”时,我会调用一个提交页面的函数。 / p>

现在,当我按下回车键时,我的页面会被提交,即使在不应该的文本区域中也是如此。那么,如果在文本区域中按下页面,我是否有任何方式无法提交页面?

这仅在IE7和IE8中发生;它在所有其他浏览器中都能正常工作。

4 个答案:

答案 0 :(得分:0)

你可能会检测到是否填写了任何textarea等/ emtpy / unset。如果所有这些都填写正确,请发送表格。

答案 1 :(得分:0)

您是否将“关键事件”附加到整个表单?整个DOM?如果你这样做是正常的行为。

如果您希望“焦点”在焦点位于提交按钮时提交页面,则在onsubmit事件中应用此功能 - 当然您可以执行所需的所有验证。 如果您只想从文本区域中排除回车键事件 - 请执行简单检查焦点是否位于momemnt的textarea中。

答案 2 :(得分:0)

如果用户在表单内部输入,除非焦点位于textarea上,表单的默认行为是提交,因此您需要的是默认行为。删除当前处理表单按键的任何代码,您将拥有所需的代码。

答案 3 :(得分:0)

我不确定这是否符合您的需求,但您可以使用以下内容禁用textarea中的回车键:

$(document).ready(function(){
 $('textarea').keypress(function(e){
  var key = (window.event) ? e.keyCode : e.which;
  if ( key == 13 ) {
   return false;
  } else {
   return true;
  }
 })
})