首页 > 解决方案 > 更改特定输入字段时如何避免表单的onchange事件?

问题描述

我有一个附有onchange事件的表格。在表单内部,我有几个输入字段,它们的更改将在更改时得到验证。

但是在同一个表单中,我有一个选择和输入字段,其更改与表单无关。它们只是用于动态添加更多表单字段。

So my question is, what can I do to avoid triggering onchangeevent when either of the select or that particular input field is changed?

标签: javascript

解决方案


change事件从触发它们的表单中的元素“冒泡”。

有两种方法可以忽略不需要的更改事件。

  1. change表单的事件处理程序中,检查event对象的target属性。如果它是要忽略的表单元素之一,则从处理程序返回而不做任何事情。

    您可以检查classNameclassListid属性event.target来识别被忽略的元素。

  2. 显式调用添加到其更改不应到达表单处理程序的元素的事件处理程序event.preventPropagation()change

另见Event.stopPropagation()Event.targetMDN。


推荐阅读