我应该在 Genexus 上的表单 refresh/requisition 的用户控件中使用什么事件?
What event should I use in a User Control on a form refresh/requisition on Genexus?
每当我需要在不刷新页面的情况下向服务器发出 ajax 请求时,Genexus 应该发出一些我可以在我的 UC 中使用的事件。
这个事件到底是什么,如果有 none,我怎么知道 JS 中的每个事件在 Genexus 用户控件中使用?
即:
如果我单击可能会在另一个 table 中搜索值的 UserAction,然后为我检索,我该如何捕获它?
另一个场景:
我正在向服务器发出请求并检索它的信息。我需要得到
$(gx-warning-message).text();
但如果我的请求仍在加载,当我执行我的功能时,它不会 return 什么,因为事件仍在加载信息。
为了避免这种情况,我正在循环,但这不是解决问题的优雅方法。
$(".Button").click(function() {
var timesRun = 0;
var interval = setInterval(function(){
timesRun += 1;
if(timesRun === 60){
clearInterval(interval);
}
if ($(".gx-warning-message").text().length > 0) {
toastrgx();
$(".gx-warning-message").text('');
}
}, 200);
});
那么,我怎样才能让它变得更好呢?
谢谢
如果您希望在每次触发 GeneXus 用户事件时都收到通知,您可以订阅 gx.onafterevent
事件。例如:
gx.fx.obs.addObserver('gx.onafterevent', scope, function () {
// Here goes the code you want to execute
// every time a GeneXus event is fired
});
scope
就是你要设置为第三个参数函数的this
的对象。
每当我需要在不刷新页面的情况下向服务器发出 ajax 请求时,Genexus 应该发出一些我可以在我的 UC 中使用的事件。
这个事件到底是什么,如果有 none,我怎么知道 JS 中的每个事件在 Genexus 用户控件中使用?
即: 如果我单击可能会在另一个 table 中搜索值的 UserAction,然后为我检索,我该如何捕获它?
另一个场景:
我正在向服务器发出请求并检索它的信息。我需要得到
$(gx-warning-message).text();
但如果我的请求仍在加载,当我执行我的功能时,它不会 return 什么,因为事件仍在加载信息。
为了避免这种情况,我正在循环,但这不是解决问题的优雅方法。
$(".Button").click(function() {
var timesRun = 0;
var interval = setInterval(function(){
timesRun += 1;
if(timesRun === 60){
clearInterval(interval);
}
if ($(".gx-warning-message").text().length > 0) {
toastrgx();
$(".gx-warning-message").text('');
}
}, 200);
});
那么,我怎样才能让它变得更好呢?
谢谢
如果您希望在每次触发 GeneXus 用户事件时都收到通知,您可以订阅 gx.onafterevent
事件。例如:
gx.fx.obs.addObserver('gx.onafterevent', scope, function () {
// Here goes the code you want to execute
// every time a GeneXus event is fired
});
scope
就是你要设置为第三个参数函数的this
的对象。