Javascript执行onkeyup函数

时间:2019-06-05 15:17:15

标签: javascript html

我在HTML中输入以下内容:

<div class="form-group">
    <label for="siretNumber">Numéro de SIRET</label>
    <input onkeyup="checkSIRET(this);" onfocusout="ocr_on_fly(true, this, true)" onfocusin="ocr_on_fly(false, this, true);" type="text" class="form-control" id="siretNumber" value="{{ pdf['siret'] }}">
</div>
<div class="form-group">
     <label for="sirenNumber">Numéro de SIREN</label>
     <input onkeyup="checkSIREN(this)" onfocusout="ocr_on_fly(true, this, true)" onfocusin="ocr_on_fly(false, this, true)" type="text" class="form-control" id="sirenNumber" value="{{ pdf['siret'] }}">
</div>

ocr_on_fly函数中,我需要自动执行onkeyup属性的函数。通过以下代码,我得到了onkeyup attr的值,但是我该如何执行呢?

let attr = input.getAttribute('onkeyup')
// attr = checkSIRET(this); or attr = checkSIREN(this);

预先感谢

2 个答案:

答案 0 :(得分:5)

您可以使用dispatchEvent来触发键盘keyboard event

input.dispatchEvent(new KeyboardEvent('keyup'));

通过以这种方式触发事件,传递给函数的this参数与普通keyup事件期间的参数相匹配。 如果需要,您可以传递事件应报告的特定密钥:

input.dispatchEvent(new KeyboardEvent('keyup', {'key':'a'}));

答案 1 :(得分:2)

由于您已经将函数名称作为字符串:

window["functionName"](arguments);

请参阅this link