处理所有 DevExtreme 输入小部件的更改事件
Handle change event for all DevExtreme input widgets
我正在寻找一种方法来跟踪是否使用 DevExtreme 组件修改了表单字段。我以为我可以将它们全部绑定到一个事件侦听器:
$('input').change(function () {
console.log("Change detected.");
});
虽然这会触发普通 <input>
元素,但 DevExtreme 组件(它们都使用底层隐藏的 <input>
元素)不会。这些组件有一个 onValueChanged
字段,可以分配一个功能,但我们的想法是不必对每个控件都这样做。我有几十个 dxTextBox
、dxSelectBox
、dxDateBox
等
的表格
Event handlers attached using the delegate() method will work for both current and FUTURE elements (like a new element created by a script).
我会推荐 jQuery Delegate 这种用法,即使它已被弃用,它也会有所帮助。
DevExtreme 小部件提供 defaultOptions(rule) 方法,允许为特定组件设置默认配置选项。
例如:
DevExpress.ui.dxTextBox.defaultOptions({
device: { deviceType: "desktop" },
options: {
onValueChanged: function(e) {
console.log("Change detected.");
}
}
});
我正在寻找一种方法来跟踪是否使用 DevExtreme 组件修改了表单字段。我以为我可以将它们全部绑定到一个事件侦听器:
$('input').change(function () {
console.log("Change detected.");
});
虽然这会触发普通 <input>
元素,但 DevExtreme 组件(它们都使用底层隐藏的 <input>
元素)不会。这些组件有一个 onValueChanged
字段,可以分配一个功能,但我们的想法是不必对每个控件都这样做。我有几十个 dxTextBox
、dxSelectBox
、dxDateBox
等
Event handlers attached using the delegate() method will work for both current and FUTURE elements (like a new element created by a script).
我会推荐 jQuery Delegate 这种用法,即使它已被弃用,它也会有所帮助。
DevExtreme 小部件提供 defaultOptions(rule) 方法,允许为特定组件设置默认配置选项。
例如:
DevExpress.ui.dxTextBox.defaultOptions({
device: { deviceType: "desktop" },
options: {
onValueChanged: function(e) {
console.log("Change detected.");
}
}
});