我正在使用二维码阅读器 JavaScript。
此 JavaScript 使用相机捕获图像,尝试解码 QR 码并将解码后的文本设置为 TextArea 作为输出。
这运作良好。
但是当文本设置为 TextArea 时,我需要捕获事件以便进行进一步处理。
我尝试了以下可用解决方案的不同组合:
第一
$('.barcodeInput').change(function(){
debugger;
alert("changed");
});
第二个
$('body').delegate('.barcodeInput', 'keyup change', function(){
alert("changed");
});
第三
$('.barcodeInput').bind('input propertychange', function () {
debugger;
alert("changed");
});
我已经在 document.ready(function(){//code here});
但是还是不行。
我的二维码解码 JavaScript 在成功解码后将文本设置为 TextArea。
我可以从该 JavaScript 手动触发事件,但这将是补丁工作。
我想永久解决这些问题。
提前致谢
最佳答案
您可以使用 change()
或 .on()
附加事件,例如:
$('.barcodeInput').change(function(){
alert("changed");
});
//Or
$('.barcodeInput').on('change', function(){
alert("changed");
});
并且您可以在更改文本时调用该事件:
textarea.val('new val').change();
//Or
textarea.val('new val').trigger('change');
注意: bind
和 delegate
已弃用。
希望这对您有所帮助。
$('.barcodeInput').on('change', function(){
alert("changed");
});
$('.barcodeInput').val('new val').change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea class='barcodeInput'></textarea>
关于javascript - JQuery 中如何捕获 TextArea 文本更改事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42575634/