【发布时间】:2017-08-01 16:49:41
【问题描述】:
我在页面上有 8 个表单。每个表单都在不刷新页面的情况下更改其相应图形的值。但是,我想这样做,这样我就不必点击提交按钮来更改图表。每个表单都有 3 个表单元素。这意味着每个表单都需要 3 个onChange 事件。整个页面我需要 24 个 onChange 事件。每个onChange 事件仅对该图调用一个唯一函数。所以在每个onChange 事件内部都有一个独特的函数,其参数由onChange 事件提供。
我想知道的是有没有办法减少onChange 事件的数量?写出 24 个事件让我想知道是否有更简单的方法。有没有?
【问题讨论】:
-
无论如何你都需要这 24 个独特的功能?还是它们仅在参数上有所不同?
-
不确定您是否只是想简化触发逻辑或整个过程。您可以通过使用 jQuery 选择器向组添加更改来简化触发逻辑 - 即
$(".in").change()用于某个类的所有。 -
$(document).on('change', 'form :input', function(){ console.log(this) }) -
@Teemu 它们的区别仅在于参数。所以总的来说,会有8个独特的功能
-
请查看this improved fiddle。 jQuery 有
data-*提取方法,当然,您可以使用这些方法来代替原生属性获取器。如果您还需要将输入的值作为参数传递,您可以在调用最终处理程序之前将其推送到params数组。
标签: javascript jquery forms events