相关疑难解决方法(0)

Chrome中的Keydown Simulation通常会触发,但不会触发正确的键

我想在html页面中模拟给定textarea元素上的keydown事件.因为我正在使用chrome,所以我调用initKeyboardEvent了我的变量,并将我想要输入的keyCode传递给了textarea.这是我尝试过的:

var keyEvent = document.createEvent('KeyboardEvent');
keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
inputNode.dispatchEvent(keyEvent);
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我正在键入字母,m但textarea只获取keyCode 13,这是Enter键.所以,我尝试了一个我在网上看到的覆盖代码,它将值设置为keyCodeVal,但没有成功

var keyEvent = document.createEvent('KeyboardEvent');
Object.defineProperty(keyEvent, 'keyCode', { 
                         get : function() {
                                 return this.keyCodeVal;
                         }
                        });
keyEvent.initKeyboardEvent('keydown', true, false, null, 0, false, 0, false, 77, 0);
keyEvent.keyCodeVal = 77;
inputNode.dispatchEvent(keyEvent);
Run Code Online (Sandbox Code Playgroud)

有谁知道如何设置keyCode值?

javascript google-chrome javascript-events

27
推荐指数
2
解决办法
5万
查看次数

以编程方式使输入[type = url]的数据列表与JavaScript一起出现

在Chrome中,就目前而言,Datalist仅在键入或双击input元素时出现,例如http://jsfiddle.net/r7Y4v/

我试图让数据主义者更早出现.理想情况下,我会在输入旁边放置一个"下拉箭头",单击该按钮会使Datalist出现.

我正在寻找一个webkit解决方案.

javascript html5 google-chrome input html-datalist

7
推荐指数
1
解决办法
4201
查看次数