无法在<;上触发onmouseup事件;tr>;元素通过Chrome上的JavaScript控制台访问
无法通过Chrome上的JavaScript控制台在“tr”元素上触发onmouseup事件 元素如下所示(无法共享确切的代码抱歉): 我得到一个错误:无法在<;上触发onmouseup事件;tr>;元素通过Chrome上的JavaScript控制台访问,javascript,mouseevent,onmouseup,Javascript,Mouseevent,Onmouseup,无法通过Chrome上的JavaScript控制台在“tr”元素上触发onmouseup事件 元素如下所示(无法共享确切的代码抱歉): 我得到一个错误: Uncaught TypeError: Cannot read property 'metaKey' of undefined at Object.i [as click] (filename:linenumber) at HTMLTableRowElement.onmouseup (Workbox?ajax:1) at
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
在这一行中,将显示错误
当我自己用手(鼠标)点击时,此事件起作用。当我使用该命令执行相同操作时,它无法正常运行。由于此“元密钥”未正确传递给它。我可以在onmouseup()调用中传递它吗?还有别的办法吗?在mouseEvents的上下文中,metakey到底指的是什么?
在其他问题上,据说“赢”键就是元键。但是当手动单击时,我不按任何其他键,只按鼠标。在那里它是如何工作的
我在这里的最终目标是在同一个元素上调用相同的函数onmouseup,但在Java中使用selenium库。我还在使用xpath获得的元素上使用JavaScript Executor。它在那里也给出了同样的错误。
因此,如果这能奏效,它也应该在那里奏效
我仔细检查了是否选择了相同的元素,而不是其他元素。
如何解决此问题?通过这种方式,您可以将事件与所需的数据绑定(以修复错误或出于任何其他原因)-
通过这种方式,您可以将事件与所需的数据绑定(以修复错误或任何其他原因)-
正如@teemu在评论中所说,您所做的不是事件触发器,而是调用函数
onmouseup()
。问题是此调用没有在您的示例中被称为b
的事件参数,因此n=b.metaKey | | b.ctrlKey
是n=undefined.metaKey | | undefined.ctrlKey
要创建鼠标悬停事件,请使用:
newEvt = new MouseEvent("mouseup", {
bubbles: true,
cancelable: true,
screenX: <your wanted X value>,
screenY: <your wanted Y value>,
clientX: <your wanted X value>,
clientY: <your wanted Y value>
});
// screenX, screenY, clientX and clientY are optionals and default to 0
document.getElementsByClassName("one")[0].dispatchEvent(newEvt);
newEvt=newmouseevent(“mouseup”{
泡泡:是的,
可取消:对,
screenX:,
屏幕:,
客户:,
客户:
});
//screenX、screenY、clientX和clientY是可选的,默认为0
document.getElementsByClassName(“一”)[0].dispatchEvent(newEvt);
请参阅MDN MouseeEvent文档:
关于元键,它们对应于
windows键
或⌘onmouseup()
。问题是此调用没有在您的示例中被称为b
的事件参数,因此n=b.metaKey | | b.ctrlKey
是n=undefined.metaKey | | undefined.ctrlKey
要创建鼠标悬停事件,请使用:
newEvt = new MouseEvent("mouseup", {
bubbles: true,
cancelable: true,
screenX: <your wanted X value>,
screenY: <your wanted Y value>,
clientX: <your wanted X value>,
clientY: <your wanted Y value>
});
// screenX, screenY, clientX and clientY are optionals and default to 0
document.getElementsByClassName("one")[0].dispatchEvent(newEvt);
newEvt=newmouseevent(“mouseup”{
泡泡:是的,
可取消:对,
screenX:,
屏幕:,
客户:,
客户:
});
//screenX、screenY、clientX和clientY是可选的,默认为0
document.getElementsByClassName(“一”)[0].dispatchEvent(newEvt);
请参阅MDN MouseeEvent文档:
关于元键,它们对应于
windows键
或⌘
点击文本!当在该段落上按下鼠标按钮时,会触发mouseDown()函数,并将文本的颜色设置为红色。释放鼠标按钮时会触发mouseUp()函数,并将文本的颜色设置为绿色。
onmouseover和onmouseout
点击文本!当在该段落上按下鼠标按钮时,会触发mouseDown()函数,并将文本的颜色设置为红色。释放鼠标按钮时会触发mouseUp()函数,并将文本的颜色设置为绿色。
这不完全是一个事件触发器,您只是在调用事件处理函数。好的,那我该怎么办?我是这方面的新手。另外,触发器和调用并不意味着相同?用于附加事件和触发事件。这不完全是事件触发器,您只是调用事件处理程序函数。好的,那么我应该怎么做?我是这方面的新手。此外,触发器和调用并不意味着相同?用于附加事件和触发事件。有人知道如何向javascript代码段添加着色吗?非常感谢,您和@programmer的回答共同帮助解决了问题。有人知道如何向javascript代码段添加着色吗?非常感谢,您和@programmer的回答共同帮助解决了这个问题。但是当我使用鼠标单击时,我没有按任何键(Enter或Win),那么为什么我需要在此处为metaKey指定一些值?我的错误。您不需要设置元键。您的错误是因为事件元素未定义,而不是因为元键没有值。非常感谢,您和jonatjano的回答共同帮助解决了问题。但是当我使用鼠标单击时,我没有按任何键(Enter或Win),所以为什么我需要在此处为元键指定一些值?我的错误。您不需要设置元键。您的错误是因为事件元素未定义,而不是因为元键没有值。非常感谢,你和jonatjano的回答共同帮助解决了这个问题。我不确定这是如何回答我的问题的。你想用它做什么让我为你做我不确定这是如何回答我的问题的。你想用它做什么让我为你做
n = b.metaKey || b.ctrlKey
var e = new Event('mouseup');
document.getElementsByClassName("one")[0].trigger(e);
newEvt = new MouseEvent("mouseup", {
bubbles: true,
cancelable: true,
screenX: <your wanted X value>,
screenY: <your wanted Y value>,
clientX: <your wanted X value>,
clientY: <your wanted Y value>
});
// screenX, screenY, clientX and clientY are optionals and default to 0
document.getElementsByClassName("one")[0].dispatchEvent(newEvt);
< tr class="one" style="height:20px;" onmouseover ="click('first value','2nd value')"> Text </tr>