无法通过 Chrome 上的 Javacript 控制台在“tr”元素上触发onmouseup事件。
元素是这样的(抱歉,不能分享确切的代码):
< tr class="one" style="height:20px;" onmouseup="click(event,this)"> Text </tr>
在控制台中,我执行了以下步骤:
document.getElementsByClassName("one")[0].onmouseup()
我得到错误:
Uncaught TypeError: Cannot read property 'metaKey' of undefined
at Object.i [as click] (filename:linenumber)
at HTMLTableRowElement.onmouseup (Workbox?ajax:1)
at <anonymous>:1:45
在随附的 js 源文件中,在给定行号的函数 i 中, 正在检查event.metaKey :
n = b.metaKey || b.ctrlKey
在这一行中,错误显示。
此事件在我自己手动(鼠标)单击时起作用。当我使用该命令执行相同操作时,它无法正常运行。由于这个“元密钥”没有正确传递给它。我可以通过 onmouseup() 调用传递它吗?还有其他方法吗?在 mouseEvents 的上下文中,metakey 到底指的是什么?在其他问题上,据说“Win”键是元键。但是当手动点击时,我不按任何其他键,只按鼠标。它在那里如何运作?
我的最终目标是在同一个元素上调用同一个函数onmouseup,但在 Java 中使用 selenium 库。我还在使用 xpath 获得的元素上使用 JavaScript Executor。它在那里也给出了同样的错误。因此,如果这有效,它也应该在那里有效。
我已仔细检查是否选择了相同的元素而不是其他元素。我能做些什么来解决这个问题?