如何模拟JavaScript中的`onmousedown`事件

3
如何使用JavaScript模拟mousedown事件? 看,我在页面上有一个链接,类似于这样:
<a class="boo" target="_blank" onmousedown="function_rc()" href="http://www.siteaddress.com" tabindex="2"></a>

我需要以程序的方式触发onmousedown事件,当用户执行某些操作后。 例如,我尝试了以下代码:

<html>
<head>
<script type="text/javascript">
function showChar()
{
alert('mouse down');
}
function fake()
{
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent ('mousedown', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
document.getelementbyid('my_link').dispatchEvent(evt);
}
</script>
</head>
<body>
<a id="my_link" onmousedown="showChar()" >LLL</a>
<div id="alert" onclick="fake()">Click me!</div>
</body>
</html>

如果我理解正确 - 当我点击带有id="alert"
时,函数开始工作,创建一个MouseEvent事件类型为mousedown并将此事件分派到具有id="my_link"的上。因此,在事件被分派后,showChar()函数应该开始执行;但实际上没有发生这种情况。 谁知道为什么以及如何解决这种情况?

1
getelementbyid?在JavaScript中大小写很重要。 - bobince
1个回答

1

所以,决定非常简单(感谢sberry2A)

$("#my_link").mousedown();

如果我使用它 - 一切都会按照预期发生=) 附言:也许对您来说很简单,但我更喜欢汇编语言,而对于我来说,JavaScript就像是自杀。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接