我正在开发Chrome扩展程序,目的是将Excel中的“粘贴”功能提供到我们的ERP系统(Sage ERP X3 V7)中的表单/表格中。
我已经让所有工作都合理地膨胀了,但是我遇到了一些问题,当您手动输入文本时会触发默认事件,并以编程方式将其触发。
我使用'Visual Event'来查看哪些事件监听器被分配给输入,并尝试使用jQuery .trigger方法手动触发它们。
我不确定这只是一个时间问题还是什么?通常,当您手动输入行时,您将点击Tab键移动到下一个字段,并且在继续之前需要一些时间来验证您的数据。这是我需要在这里触发的验证。
这是我用来尝试触发focusin和focusout事件的代码片段 -
function pasteLineData(lineData, data_s_article){
console.log($(".s-list-core[data-s-article='" + data_s_article + "'] tbody>tr:last").length);
var fieldData = lineData.split("\t");
var f=0;
$(".s-list-core[data-s-article='" + data_s_article + "'] tbody>tr:last").each(function (){
var $fields = $(this).find("input[readonly!='readonly']:not(.s-readonly):visible");
$fields.each(function(){
console.log($(this).attr("id"));
console.log(fieldData[f]);
$(this).trigger("focusin");
$(this).val(fieldData[f]);
$(this).trigger("focusout");
f++;
});
});
}
(正在使用的选择器只能抓取特定的表,只有活动字段,有些只显示)
有关如何获取扩展程序以模拟输入过程的任何建议?