не важно, может быть только для одного браузера (но не IE) З.Ы.: как-нить возможно и кросбраузерно, ведь JQuery это делает)
http://code.jquery.com/jquery-1.7.2.js вот код. смотри. он явно не эмулирует нажатие кнопки мыши, он, скорее, эмулирует последствия.
assasin94r, давайте не путать понятия. У jQuery click() не эмулирует нажатие, а смотрит, что висит на обработчике onClick и выполняет это. В этом легко убедиться PHP: $('body').append('<button class="test">Click Me</button>'); $('.test').click(function() { window.open('http://ya.ru'); }); $('.test').click(); Любой нормальный браузер выдаст сообщение о блокировании всплывающего окна. В то же время, если кликнуть мышкой на созданную кнопку - без проблем откроется новое окно.
Показали, что нужно разобраться, как сделано у jQuery. Это фреймворк, а не ЯП. Глянуть, как там реализовано click() и сделать также. Банальный пример PHP: var test = document.getElementById('some_element'); test.onclick = function() {alert('test'); return false;} (eval(test.onclick));
Серьёзно? Или вы просто не создали элемент с id="some_element" ? Т.е. вот такое не сработает? PHP: <html> <head> <script> function init() { var test = document.getElementById('some_element'); test.onclick = function() {alert('test'); return false;} (eval(test.onclick)); } window.onload = init; </script> </head> <body> <button id="some_element">Click</button> </body> </html>
Прекрасно работает HTML: <button id='some_element'>aaa</button> <script> var test = document.getElementById('some_element'); test.onclick = function() {alert('test'); return false;} (eval(test.onclick)); </script> Изучите сначала Javascript, хотя бы малейшие азы, лишь потом пишите на форум.