我正在寻找一种跟踪表单字段是否已使用DevExtreme组件进行修改的方法。我以为我可以用一个事件监听器将它们全部绑定:
$('input').change(function () {
console.log("Change detected.");
});
尽管这会触发普通的<input>
元素,但DevExtreme组件(它们全部使用基础的隐藏<input>
元素)不会触发。组件具有一个onValueChanged
字段,可以为该字段分配一个功能,但是其思想是不必对每个控件都执行此操作。我的表单中包含数十个dxTextBox
,dxSelectBox
,dxDateBox
等。
答案 0 :(得分:1)
使用委托()方法附加的事件处理程序将同时适用于当前和FUTURE元素(如脚本创建的新元素)。
对于这种用法,我建议使用jQuery Delegate,即使已弃用它也会有所帮助。
答案 1 :(得分:1)
DevExtreme小部件提供了defaultOptions(rule)方法,该方法允许为特定组件设置默认配置选项。
例如:
DevExpress.ui.dxTextBox.defaultOptions({
device: { deviceType: "desktop" },
options: {
onValueChanged: function(e) {
console.log("Change detected.");
}
}
});