在Chrome扩展程序中触发并等待事件(Javascript)

时间:2015-05-28 07:50:58

标签: javascript jquery google-chrome google-chrome-extension sage-erp

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

我已经让所有工作都合理地膨胀了,但是我遇到了一些问题,当您手动输入文本时会触发默认事件,并以编程方式将其触发。

我使用'Visual Event'来查看哪些事件监听器被分配给输入,并尝试使用jQuery .trigger方法手动触发它们。

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

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

(正在使用的选择器只能抓取特定的表,只有活动字段,有些只显示)

有关如何获取扩展程序以模拟输入过程的任何建议?

0 个答案:

没有答案