我在html页面上有几个文本框和一个编辑按钮 - 比如T1,T2,T3,T4。我有 T1 的更改事件。onchange事件使T2 只读=真T3,T4 可编辑(设置只读属性 = 假)
现在,我有一个按钮 - "编辑" - 它的作用是使 T2 只读 = 假T3 和 T4 不可编辑(设置只读属性 = true)焦点转到 T1。
接下来,我现在在T1。我单击选项卡(即使不更改 T1 的值) - 问题出现了 - 触发了 T1 的更改事件!它使T2 只读=真T3,T4 可编辑(设置只读属性 = 假)这是不可取的。
当 T1处于焦点时,如何避免在 T1 单击选项卡时触发 T1 的更改?非常感谢对此的任何帮助。提前感谢!
我不太确定你在问什么,但onchange可能不是使用的正确函数。如果这不能解决它,请摆弄或发布您的代码,但请尝试将 onchange 触发器替换为 onfocus。
http://www.w3schools.com/jsref/event_onfocus.asp
一旦
您离开文本区域并尝试执行其他操作,就没有任何方法可以阻止该事件,因为一旦模糊元素,就会发生更改。浏览器将在触发下一个事件处理程序之前检测到模糊
您可能需要在 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);
}