Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DOM元素单击按钮,但不调用控制器中为按钮定义的函数_Javascript_Sapui5 - Fatal编程技术网

Javascript DOM元素单击按钮,但不调用控制器中为按钮定义的函数

Javascript DOM元素单击按钮,但不调用控制器中为按钮定义的函数,javascript,sapui5,Javascript,Sapui5,我需要捕获用户在SAP UI5应用程序上执行的事件,并在需要时播放相同的事件 我开发了一个小的UI5应用程序,几乎没有文本字段、按钮和链接。我正在使用DOM事件来捕获事件。我将元素ID和命令类型(单击,输入)保存在本地JSONModel中。当需要播放时,我使用保存的数据再次执行相同的事件 我能够捕获和回放文本输入字段,但当我在回放中单击按钮或链接时,它会单击按钮,但不会在按钮按下事件时调用控制器中定义的函数 有人能帮我吗?在下面的示例中,在播放过程中,单击“提交”按钮可以正常工作,但它不会调用控

我需要捕获用户在SAP UI5应用程序上执行的事件,并在需要时播放相同的事件

我开发了一个小的UI5应用程序,几乎没有文本字段、按钮和链接。我正在使用DOM事件来捕获事件。我将元素ID和命令类型(单击,输入)保存在本地JSONModel中。当需要播放时,我使用保存的数据再次执行相同的事件

我能够捕获和回放文本输入字段,但当我在回放中单击按钮或链接时,它会单击按钮,但不会在按钮按下事件时调用控制器中定义的函数

有人能帮我吗?在下面的示例中,在播放过程中,单击“提交”按钮可以正常工作,但它不会调用控制器中定义的函数

示例代码 已定义“查看文件”按钮
var Submit=new sap.m.Button(“提交”{
文本:“提交”,
启用:对,
按:功能(oEvt){
oController.OnPressSubmit(oEvt);
}
});
控制器已定义函数
OnPressSubmit:function(oEvt){/*执行操作*/}
在索引文件中插入另一个.js文件,捕获如下事件

document.addEventListener(“输入”,myInputFunction);
函数myInputFunction(evt){
如果(event.target.localName.length>0){
recordingData.push({
“类型”:event.target.localName,
“命令”:event.type,
“名称”:event.target.id,
“值”:event.target.value
});
}
发送数据(记录数据);
};
回放中
函数playDataBack(数据){
对于(变量i=0;i
在按钮创建之外是否包含以下代码

oController=this

完成此任务后,您可以创建按钮,
o控制器
将在“按下”事件中显示

var Submit = new sap.m.Button("Submit", {
  text: 'Submit',
  enabled: true,
  press: function(oEvt) {
    oController.OnPressSubmit(oEvt);
  }
});
顺便说一句,这并不是说它对代码本身有什么影响,但如果您遵循命名约定,我建议您在启动函数/方法时使用小写:)

韩国


克里斯托夫

在按钮创建之外是否包含以下代码

oController=this

完成此任务后,您可以创建按钮,
o控制器
将在“按下”事件中显示

var Submit = new sap.m.Button("Submit", {
  text: 'Submit',
  enabled: true,
  press: function(oEvt) {
    oController.OnPressSubmit(oEvt);
  }
});
顺便说一句,这并不是说它对代码本身有什么影响,但如果您遵循命名约定,我建议您在启动函数/方法时使用小写:)

韩国


克里斯托夫

谢谢你的指点。由于我正在开发原型,所以没有太多关于命名约定的麻烦。但当实际项目开始时,我肯定会记住。请你详细说明一下建议,我需要包括你提到的代码。谢谢你指出。由于我正在开发原型,所以没有太多关于命名约定的麻烦。但当实际项目开始时,我肯定会记住。请你详细说明一下建议,我需要包括你提到的代码。