Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

click on a div with regular javascript

jquery attaches a click method on even things that aren't typically clickable like a DIV. this can be great because some things respond to that. How can i "click" on any old regular DIV using plain old javascript without Jquery?

what i am trying to do is trigger clicking on the area where the user can post in Jquery. I'm using a chrome extension that can run some javascript on a hotkey. I wrote a jquery version var x = $('div[guidedhelpid="sharebox"]'); x.click();

which works fine, other than it seems that the jquery library only loads about 1/4 of the time. not sure why, so i figured i'd try to make it in plain JS. As for the handler, googles own code is intercepting and processing the clicks fine, and it works in the Jquery version. so i just want to effectively do the same thing.

does Jquery internally go up or down the DOM until it finds the first think clickable?

update in light of it, i was looking in the wrong direction, and really just needed to find the right element to focus on (in JQUERY).

like image 339
klumsy Avatar asked Dec 17 '22 04:12

klumsy


2 Answers

If you just want to bind one function to the element, you could use

var element = document.getElementById("el"); //grab the element
element.onclick = function() { //asign a function
//code
}

but if you need to attach more than one event, you should use addEventListener (eveything except IE) and attachEvent (IE)

if(element.addEventListener) {
element.addEventListener("click", function() {});
} else { 
element.attachEvent("onclick", function() {})
}
like image 64
nicosantangelo Avatar answered Jan 04 '23 14:01

nicosantangelo


The click() function is built in JavaScript, not jQuery.

HTMLElementObject.click()

Source.

like image 30
Jivings Avatar answered Jan 04 '23 14:01

Jivings