0

我正在开发 Chrome 扩展程序,目的是在我们的 ERP 系统(Sage ERP X3 V7)中将 Excel 中的“粘贴”功能提供到表单/表格中。

我的一切工作都相当顺利,但是我遇到了问题,让您手动输入文本时触发的默认事件在以编程方式放入时触发。

我使用“Visual Event”来查看分配给输入的事件侦听器,并尝试使用 jQuery .trigger 方法手动触发它们。

我不确定这只是时间问题还是什么?通常,当您手动输入行时,您将点击选项卡以移动到下一个字段,并且在继续之前需要一些时间来验证您的数据。这就是我需要在这里触发的验证。

这是我用来尝试触发 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++;
        });
    });
}

(使用中的选择器只是用来抓取特定的表和只有活动的字段,有些只是显示)

关于如何让我的扩展程序模拟进入过程的任何建议?

4

0 回答 0