Не смущайтесь возвращенным
javascript:__doPostBack('ctl00$MainContentPlaceHolder$lnkBtnHidden','')
некоторые браузеры используют атрибут href гиперссылки в качестве строкового представления -элемента.
Возвращенный объект по-прежнему является элементом-объектом.
Я уже написал в комментарии, что click () в (моем) Chrome не работает с a-элементами. Это работает для меня в input[type=submit]
, но, возможно, ваша chrome-версия не поддерживает это. Но это не имеет значения, если вы не можете полагаться на тот факт, что click () работает где угодно.
Когда ваш подход с использованием dispatchEvent () не работает, я полагаю, что ваша реализация неверна, вот пример функции:
//@param obj element where to simulate the click
function simclick(obj)
{
if(document.fireEvent) {
obj.fireEvent("onclick");
}
else if(document.dispatchEvent) {
var oEvent = document.createEvent( "MouseEvents" );
oEvent.initMouseEvent("click", true, true,window, 1, 1, 1, 1, 1, false, false, false, false, 0, obj);
obj.dispatchEvent( oEvent );
}
}
Что еще: вы должны переместить вызов javascript:__doPostBack()
из атрибута href в атрибут onclick. В противном случае нет гарантии, что функция будет вызвана (в зависимости от браузера).
см. Пример: http://fiddle.jshell.net/doktormolle/swR59/show/
opener-source: http://jsfiddle.net/doktormolle/swR59/
popup-source: http://jsfiddle.net/doktormolle/vHwCr/