简介:
本文主要介绍JavaScript(JS)中,通过JS代码为textarea标签赋值,模拟用户手动输入并触发事件。
function setNativeValue(element, value) {
const valueSetter = Object.getOwnPropertyDescriptor(element, 'value').set;
const prototype = Object.getPrototypeOf(element);
const prototypeValueSetter = Object.getOwnPropertyDescriptor(prototype, 'value').set;
if (valueSetter && valueSetter !== prototypeValueSetter) {
prototypeValueSetter.call(element, value);
} else {
valueSetter.call(element, value);
}
}
调用方法:
setNativeValue(document.getElementById('txtArea'),"cjavapy");
document.getElementById('txtArea').dispatchEvent(new Event('input', { bubbles: true }));
注意:textarea
标签通过和input
标签一样使用.dispatchEvent(event)
触发input事件,有些情况是不生效的。所以使用上面的方法。
了解更多分析及数据抓取可查看:
http://data.yisurvey.com:8989/
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。