Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript捕获输入更改事件?_Javascript_Html - Fatal编程技术网

如何使用Javascript捕获输入更改事件?

如何使用Javascript捕获输入更改事件?,javascript,html,Javascript,Html,给定一个输入元素,我知道我们可以用它来捕获输入更改 $(“input”).on(“change”,function(){…}); 因此,当用户在输入框中键入文本时,将触发上述功能 然而,我的用例是,输入是通过点击按钮来更新的,而不是通过用户直接键入文本。并且似乎无法使用上述代码捕获输入更改事件 还有其他方法吗?在按钮上附加一个“单击”事件侦听器,然后根据该事件处理程序读取或修改输入框,怎么样 $(“按钮”)。在(“单击”,function(){…})上 或 $(“按钮”)。单击(函数(){…}

给定一个输入元素,我知道我们可以用它来捕获输入更改

$(“input”).on(“change”,function(){…});
因此,当用户在输入框中键入文本时,将触发上述功能

然而,我的用例是,输入是通过点击按钮来更新的,而不是通过用户直接键入文本。并且似乎无法使用上述代码捕获输入更改事件


还有其他方法吗?

在按钮上附加一个“单击”事件侦听器,然后根据该事件处理程序读取或修改输入框,怎么样

$(“按钮”)。在(“单击”,function(){…})上


$(“按钮”)。单击(函数(){…})

您需要通过更新按钮回调函数中的
属性,将按钮与字段绑定。然后在任何位置使用

const button = document.getElementById("btn");
const field = document.getElementById("field");

button.addEventListener("click", event => {
  // Update your input attrs here
  field.value = "Updated"
})

因为您已经说过要用js生成按钮,所以可以在生成按钮时添加事件侦听器:


/*在代码中生成按钮*/
var btn=document.createElement(“按钮”);//生成按钮的代码
var app=document.getElementById(“app”).appendChild(btn);//将按钮添加到文档中的代码
btn.addEventListener('click',function(){console.log(“它工作!”)});//在仍有对按钮的引用时,将事件列表器添加到按钮

您的意思是,当您单击按钮时,输入是从其他地方填充的?只需创建一个函数,并在单击按钮时调用它。@avocado所以当通过按钮触发
单击事件时。。要捕获当前输入吗?@germanio,是的,有一个按钮,如果我单击它,
input
框中的值会改变。@TannerDolby,正确!是的,这听起来像是一种方法。但是,按钮不是用html编写的,而是在加载html文档时由其他js代码生成的。是否无法通过css选择器将事件侦听器附加到此按钮?您可以选择按钮作为更容易定位的元素的子元素。我假设您无法访问创建按钮以解决问题的javascript-这将是最有机的方法。但是按钮不是用html编写的,而是在加载html文档时由其他js代码生成的,如果我不想查看js代码,似乎很难将新函数附加到按钮上。因此,请发布