MCPcopy Create free account
hub / github.com/Xu22Web/tech-study-js / handleBlankInput

Function handleBlankInput

tech-study.js:2992–3034  ·  view source on GitHub ↗
(answers)

Source from the content-addressed store, hash-verified

2990 * @description 处理填空
2991 */
2992const handleBlankInput = (answers) => {
2993 // 所有填空
2994 const blanks = $$('.blank');
2995 // 答案存在
2996 if (blanks.length && answers.length) {
2997 // 填空数量和答案数量一致
2998 if (answers.length === blanks.length) {
2999 return answers.every((answer, i) => {
3000 // 答案存在
3001 if (answer && answer.length) {
3002 // 输入事件
3003 const inputEvent = new Event('input', {
3004 bubbles: true,
3005 });
3006 // 设置答案
3007 blanks[i].setAttribute('value', answer);
3008 // 触发输入input
3009 blanks[i].dispatchEvent(inputEvent);
3010 return true;
3011 }
3012 return false;
3013 });
3014 }
3015 // 填空数量为1和提示数量大于1
3016 if (blanks.length === 1 && answers.length > 1) {
3017 // 直接将所有答案整合填进去
3018 const answer = answers.join('');
3019 // 答案存在
3020 if (answer && answer.length) {
3021 // 输入事件
3022 const inputEvent = new Event('input', {
3023 bubbles: true,
3024 });
3025 // 设置答案
3026 blanks[0].setAttribute('value', answer);
3027 // 触发输入input
3028 blanks[0].dispatchEvent(inputEvent);
3029 return true;
3030 }
3031 }
3032 }
3033 return false;
3034};
3035/**
3036 * @description 处理填空随机
3037 */

Callers 1

doingExamFunction · 0.70

Calls 1

$$Function · 0.70

Tested by

no test coverage detected