как создать эмуляцию события - PullRequest
2 голосов
/ 05 января 2010

Как эмулировать событие mousedown, используя javascript? Видишь ли, я получил ссылку на страницу чего-то вроде этого:

<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>

если я правильно понимаю - когда я нажимаю на div с функцией id = "alert", начинаю работать, создаю MouseEvent evt type = mousedown и отправляем это событие с id = "my_link" Поэтому после отправки evt функция showChar () должна запуститься. но этого не происходит. кто знает почему и как решить эту ситуацию?

1 Ответ

1 голос
/ 05 января 2010

Итак, решение было очень простым (спасибо sberry2A)

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

если я его использую - все срабатывает как надо =) p.s. \ возможно это просто для тебя, но я предпочитаю asm, а js для меня - лучше убей себя =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...