JSView - 在失去焦点时在自定义标签上设置触发器
JSView - Set trigger, when loses focus, on custom tag
我正在尝试为输入元素定义一个自定义标签,该标签仅在输入元素失去焦点时触发。
当它触发时,它应该修改数据链接的项目。
数据处理正在处理 AfterChange。
//jsview html tag
<script id="input_text_layout" type="text/x-jsrender">
<input type="text" data-link="{:value:} {testvalidation value}">
</script>
//jQuery Part
$.views.tags({
testvalidation: {
baseTag: "radiogroup",
linkedElement: "select,textarea,input",
init: function(tagCtx, linkCtx, ctx) {
var tag = this;
},
onAfterChange : function(ev, eventArgs) {
$.observable(this.linkCtx.view.data).setProperty("info_text", "Testinformation");
}
}
});
})(this.jQuery);
如果您希望在模糊事件而不是 keydown/input 上触发更新,您可以设置 trigger=false
。该设置可以是全局的、在单个标签上或在标签定义中。
见
在自定义标签的标签定义上设置 trigger=false
如下所示(您的标签):
testvalidation: {
linkedElement: "input",
trigger: false,
onAfterChange : function(ev, eventArgs) {
$.observable(this.linkCtx.view.data).setProperty("info_text", "Testinformation");
}
}
或者这一个来自 http://www.jsviews.com/#samples/tag-controls/simple-textbox:
textbox: {
linkedElement: "input",
template: "<input/>",
onUpdate: false,
trigger: false,
dataBoundOnly: true
}
我正在尝试为输入元素定义一个自定义标签,该标签仅在输入元素失去焦点时触发。 当它触发时,它应该修改数据链接的项目。 数据处理正在处理 AfterChange。
//jsview html tag
<script id="input_text_layout" type="text/x-jsrender">
<input type="text" data-link="{:value:} {testvalidation value}">
</script>
//jQuery Part
$.views.tags({
testvalidation: {
baseTag: "radiogroup",
linkedElement: "select,textarea,input",
init: function(tagCtx, linkCtx, ctx) {
var tag = this;
},
onAfterChange : function(ev, eventArgs) {
$.observable(this.linkCtx.view.data).setProperty("info_text", "Testinformation");
}
}
});
})(this.jQuery);
如果您希望在模糊事件而不是 keydown/input 上触发更新,您可以设置 trigger=false
。该设置可以是全局的、在单个标签上或在标签定义中。
见
在自定义标签的标签定义上设置 trigger=false
如下所示(您的标签):
testvalidation: {
linkedElement: "input",
trigger: false,
onAfterChange : function(ev, eventArgs) {
$.observable(this.linkCtx.view.data).setProperty("info_text", "Testinformation");
}
}
或者这一个来自 http://www.jsviews.com/#samples/tag-controls/simple-textbox:
textbox: {
linkedElement: "input",
template: "<input/>",
onUpdate: false,
trigger: false,
dataBoundOnly: true
}