相关疑难解决方法(0)

如何使用JavaScript模拟鼠标点击?

我知道这个document.form.button.click()方法.但是,我想知道如何模拟onclick事件.

我在Stack Overflow上找到了这个代码,但我不知道如何使用它:(

function contextMenuClick()
{
    var element= 'button'

    var evt = element.ownerDocument.createEvent('MouseEvents');

    evt.initMouseEvent('contextmenu', true, true,
         element.ownerDocument.defaultView, 1, 0, 0, 0, 0, false,
         false, false, false, 1, null);

    element.dispatchEvent(evt);
}
Run Code Online (Sandbox Code Playgroud)

如何使用JavaScript触发鼠标单击事件?

javascript javascript-events

126
推荐指数
6
解决办法
22万
查看次数

在Chrome上触发键盘事件

我正在尝试使用Chrome上的javascript将键盘事件发送到页面.我有一个曾经在Firefox上工作的方法:

pressKey = function(key, shift) {
  var evt = document.createEvent('KeyboardEvent');
  evt.initKeyEvent("keypress", false, true, null, false, false,
                   shift, false, keyCode(key), key.charCodeAt(0));
  document.dispatchEvent(evt);
}
Run Code Online (Sandbox Code Playgroud)

其中key是所需的键,keyCode将小写字母更改为高位字母,并调用charCodeAt().

我的问题是Safari/Chrome上的事件没有initKeyEvent,而是initKeyboardEvent.我可以注意到的主要区别是你必须将密钥作为keyIdentifier(看起来像一个unicode字符)传递,而不是传递keycode和keychar.尽管如此,我仍然无法使其成功.

我也尝试过这里描述的JQuery方法但没有成功.

编辑: 我进一步调试了这一点似乎Chrome上的事件确实触发了侦听器,但keyCode/charCode始终为0.我试图设置evt.keyCode或evt.charCode也没有成功.

javascript webkit google-chrome

26
推荐指数
3
解决办法
4万
查看次数