javascript - 模拟内联 onkeydown 事件

标签 javascript input internet-explorer-8 internet-explorer-9 keydown

我有一个我无法控制的输入元素 例如:

<input tabindex="2" onkeypress="if(NotReady_Key())return;fnKeyPressNum(this,'N',0);"onkeydown="if(NotReady_Key())return;fnKeyDownNum(this,9,0);" id="someElement"/>

在 Internet Explorer 8 和 9 中,我试图找到一种方法,使元素执行时就像在输入时按下了“Enter”按钮一样,

我没能找到 JS 的方式来模拟新闻

但我在想,是否可以获取内联方法:

onkeydown="if(NotReady_Key())return;fnKeyDownNum(this,9,0);"

从元素中,通过elementById获取元素, 并像事件实际发生一样执行它? 这是我到目前为止所尝试的(我正在使用jquery):

 //get dom element
var element = $("#someElement")[0];
//simulate the event
//insert element as "this"
(function(){
fnKeyDownNum(this,9,0);
}).call(element);

但它似乎没有按预期工作,我是不是忘记了什么? 我认为我还需要确保模拟除此之外的其他系统变量,以完全模拟“ENTER”事件。

我能做什么?

选项 2 当然是在输入上模拟真正的“ENTER”按键,但到目前为止我在 IE8/9 中找不到这样做的方法,任何方式即使使用 VBS 也可以接受,如果是的话一个选项。

请注意,我特别需要 IE8 和 IE9 支持。

最佳答案

如果您只需要使用元素调用 fnKeyDownNum,请尝试一下:

fnKeyDownNum(document.getElementById('someElement'),9,0);

但是,如果您需要真正模拟按键(因为按键可以将输入添加到字段,并且如果您在表单元素上按 Enter 键,它也具有提交表单的效果),您将必须单独管理它.

关于javascript - 模拟内联 onkeydown 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47291260/

相关文章:

检查输入是否与 C 中的单词匹配

javascript - 严格的数字输入字段

css - Internet Explorer 中的 iFrame 缩放问题

css - 仅在 IE8 中呈现图像问题

javascript xml 解析器未定义检查

javascript - 如何根据提供的最小和最大字符范围在 Javascript 中生成随机数

javascript - 如何成功地操作从用户输入中获取的数字? (HTML/JavaScript)

Javascript 字符串压缩

javascript - d3.js 树 - 为指定的子节点设置深度?

jquery - Cufoncanvas 替换样式