javascript enter event doesn't work on google
我正在尝试用JavaScript模拟一个"回车"键来实现自动化。
1 2 3 4 5 6 7 | var script = document.createElement('script'); script.src = 'https://code.jquery.com/jquery-1.10.2.min.js'; script.type = 'text/javascript'; document.body.appendChild(script); var e = jQuery.Event("keypress"); e.which = 13; //choose the one you want e.keyCode = 13; |
这是用于设置密钥事件的代码(我也尝试了keydown和keyup)。
这在搜索谷歌时似乎不起作用。如果我键入一些文本并触发输入字段
我正在使用谷歌来测试模拟"正确"的进入事件。我希望使用JS来自动化Skype Web客户端。
有人知道是否可以使用javascript模拟实际的回车键吗?我已经看到Selenide的
我还尝试过本地JS事件触发
1 2 3 4 5 6 7 | var dispatchKeyboardEvent = function(target, initKeyboradEvent_args) { var e = document.createEvent("KeyboardEvents"); e.initKeyboardEvent.apply(e, Array.prototype.slice.call(arguments, 1)); target.dispatchEvent(e); }; dispatchKeyboardEvent($("[name=q]"), 'keypress', true, true, null, 'h', 13, ''); |
SideNote我知道可以通过对元素调用.submit()来提交查询,但这不是我所追求的。
如果代码在单个快照中设置了搜索查询字符串,请侦听字段的on change事件并调用函数。
1 2 3 4 5 | $("#searchBarId").on("change", function(){ var e = jQuery.Event("keydown"); e.which = 13; // # Enter key code value $("input").trigger(e) }); |
用jquery从确定的触发按键事件的方法回答
这能解决你的问题吗?
当您在代码中引用
加载jquery时应执行事件触发器代码,从而在
如前所述,在将
工作演示:jsFiddle
1 2 3 4 5 6 7 8 9 10 11 12 | <select id="ss"> <option value="1">1</option> <option value="2">2</option> </select> $('#ss').keypress(function(e){ var p = e.keyCode; alert(p); if(p==13){ alert('enter was pressed'); } }); |