当文本输入由javascript而不是keypress/copy/paste更新时使用的事件处理程序

当文本输入由javascript而不是keypress/copy/paste更新时使用的事件处理程序,javascript,jquery,Javascript,Jquery,我想在每次更新文本输入时读取其值。它正在由Craftycicks postcode finder更新,因此框中没有键入/按键,也没有任何复制/粘贴。我试过: $('#AddressL1').change(function() { val = $(this).val(); console.log }); 而且: $('#AddressL1').on('input', function(e) { val = $(this).val(); console.log })

我想在每次更新文本输入时读取其值。它正在由Craftycicks postcode finder更新,因此框中没有键入/按键,也没有任何复制/粘贴。我试过:

$('#AddressL1').change(function() {
    val = $(this).val();
    console.log
});
而且:

$('#AddressL1').on('input', function(e) {
    val = $(this).val();
    console.log
});

…但这两种方法都不起作用,除非我通过手动键入内容来更新框。如果能帮上忙,我将不胜感激。谢谢。

通过脚本更新输入字段的值时,不会触发事件,您需要手动触发事件,如

$(input).val(value).change()

您能解释一下传递给
val()
的是什么吗。谢谢。@Marc它只是一个占位符,用于指定您要分配的值在这种特殊情况下,我恐怕无法控制如何分配该值,我只需要能够将其读取到一个变量中,以便在其他地方使用。我尝试了以下方法,但不起作用
$('#AddressL1').val().change(function(){
val=$(this.val();
console.log(val);
})浏览器控制台显示以下错误
未捕获类型错误:对象没有方法“更改”
如果投票否决此问题的人能够解释原因,我将不胜感激。