Tampermonkey:触发器事件对元素不起作用

时间:2018-02-11 07:58:52

标签: javascript jquery tampermonkey

我正在尝试使用Tampermonkey在提供者角度应用程序之上添加一些功能,但我坚持这个简单的事情。我不能使用CodePen来复制这个问题,所以我们将不得不去寻找理论和建议。我会尝试尽可能具体。

在页面加载时添加此间隔以检查具有id serialNumberInput的输入何时可用。然后我在表单中添加一个下拉列表,并附加一个onChange事件,以使用所选选项的值更新串行输入字段。但是,触发器部件永远不会发生。当我手动输入它时它会起作用,但不能与脚本一起输入。

var populateSerialNumbersTimer = setInterval(function(){

    var serial = $("input#serialNumberInput");

    if($(serial).length >= 1){

        $(serial).css("display", "inline").css("width", "50%");
        $(serial).after(deviceToSerialSelectionHTML);

        $("select#deviceToSerial").on("change", function(){
            $(serial).val($("select#deviceToSerial").val());
            $(serial).trigger("change");
            $(serial).trigger("blur");

        });

        clearInterval(populateSerialNumbersTimer);
    }
}, 200);

enter image description here

我已经考虑过了,并考虑序列号如何在文本字段中结束,该字段必须是可访问的。也许是因为我试图触发的事件在函数声明时尚未声明?

建议非常感谢。

1 个答案:

答案 0 :(得分:0)

看起来jQuery试图以某种方式缓存事件。这就是我用其他人感兴趣的原生javascript解决它的方法:

it.myinfo.codeid