I\'m trying to simulate a click on an anchor tag using jQuery. I\'ve been digging around StackOverflow and Google for a while and haven\'t found anything that works on all o
I use this approach. Seems to work okay.
$(function() {
fireClick($("a"));
});
function fireClick (elem) {
window.location = $(elem).attr('href');
}
Use $('a').click();
This should work...
$(function() {
fireClick($("a")[0]);
});
function fireClick(elem) {
if(typeof elem == "string") elem = document.getElementById(objID);
if(!elem) return;
if(document.dispatchEvent) { // W3C
var oEvent = document.createEvent( "MouseEvents" );
oEvent.initMouseEvent("click", true, true, window, 1, 1, 1, 1, 1, false, false, false, false, 0, elem);
elem.dispatchEvent(oEvent);
}
else if(document.fireEvent) { // IE
elem.click();
}
}
I tested this in Chrome and Firefox but don't have an IE handy. This should work transparently in most scenarios.
$('a').live('click.simclick', function(event){
var $a = $(event.target)
setTimeout(function(){
if (event.isPropagationStopped())
return
$('<form/>')
.attr({
method: 'get',
target: $a.attr('target'),
action: $a.attr('href')
})
.appendTo(document.body)
.submit()
// clean up in case location didn't change
.remove()
}, 0)
})
// test it
$('a').eq(0).click()