单击焦点和选项卡时,如何避免对文本框进行onChange事件调用?

时间:2016-01-19 16:04:48

标签: javascript php jquery html

我在html页面上有很少的文本框和编辑按钮 - 比如T1,T2,T3,T4。 我有T1的onchange事件。 onchange事件使 T2 readOnly = true T3,T4可编辑(设置readonly属性= false)

现在,我有一个按钮 - "编辑" - 它的作用是什么  T2 readonly = false T3和T4无法使用(设置readonly属性= true) 并重点关注T1。

接下来,我现在在T1。我单击选项卡(即使不更改T1的值) - 问题出现 - 触发T1的onChange事件!它使 T2 readOnly = true T3,T4可编辑(设置readonly属性= false) 这是不可取的。

当T1处于对焦状态时,如何避免在T1点击标签时触发T1的onChange?对此有任何帮助非常感谢。提前谢谢!

2 个答案:

答案 0 :(得分:0)

我不太确定你在问什么,但是onchange可能不是正确使用的功能。如果没有修复它,请制作一个小提琴或发布你的代码,但尝试用onfocus替换你的onchange触发器。

http://www.w3schools.com/jsref/event_onfocus.asp

答案 1 :(得分:0)

一旦你离开textarea并尝试做其他事情,就没有任何方法可以阻止事件,因为只要你模糊元素就会发生变化。浏览器将在下一个事件处理程序触发之前检测到模糊

您可能需要在onchange事件处理程序中使用简短setTimeout,以便在执行T1, T2...

中的任何操作之前评估onchange变量

如果没有提供相关代码,则很难再提供任何帮助

类似的东西:

element.onchange = function(){// or $('#mytestarea').on('change....
   setTimeout(function(){
     // should have had enough time for tab values to have changed
     // do whatever you normally do here
   }, 50);
}