setChangeEvents(targetNode, ...events) {
		const tag_changed = L.bind(function(ev) { this.setAttribute('data-changed', true) }, this.node);

		for (let i = 0; i < events.length; i++)
			targetNode.addEventListener(events[i], tag_changed);

		this.registerEvents(targetNode, 'widget-change', events);
	}
Set up listeners for native DOM events that may change the widget value.

Sets up event handlers on the given target DOM node for the given event
names which may cause the input value to change completely, such as
`change` events in a select menu. In contrast to update events, such
change events will not trigger input value validation but they may cause
field dependencies to get re-evaluated and will mark the input widget
as dirty.

@instance
@memberof LuCI.ui.AbstractElement
@param {Node} targetNode
Specifies the DOM node on which the event listeners should be registered.

@param {...string} events
The DOM events for which event handlers should be registered.