Given element
, a variable containing a javascript object/DOM element, how do I determine if the event.target is an element inside element
or not?
function(event){
// assume that var element exists in this scope
if(event.target == a_child_of(element))
// do something
}
<div id="myDiv">
<div class="innerDiv">
<input type="text"/>
</div>
</div>
If element
is myDiv
, an event occurring on the inner div or the input, or any other element that may exist inside myDiv
should cause the statement to evaluate to true.
I imagine that I could use a recursive function to build an array of child elements and then check if the event.target is in the array, but I want to see if there's a simpler answer first.
The event. target property returns which DOM element triggered the event. It is often useful to compare event. target to this in order to determine if the event is being handled due to event bubbling.
You can use jQuery to check for classes by name: $(event. target). hasClass('konbo');
Obsolete This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time.
You can also use .has()
if ($(element).has(e.target).length > 0){
//
}
jQuery to the rescue:
if (jQuery.contains(element, e.target))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With