jQuery Basic
jQuery Ajax Events
- jQuery ajaxComplete
- jQuery ajaxError
- jQuery ajaxSend
- jQuery ajaxStart
- jQuery ajaxStop
- jQuery ajaxSuccess
jQuery Ajax Methods
- jQuery .ajaxComplete()
- jQuery .ajaxError()
- jQuery .ajaxSend()
- jQuery .ajaxStart()
- jQuery .ajaxStop()
- jQuery .ajaxSuccess()
- jQuery jQuery.ajax()
- jQuery jQuery.ajaxPrefilter()
- jQuery jQuery.ajaxSetup()
- jQuery jQuery.ajaxTransport()
- jQuery .get()
- jQuery jQuery.getJSON()
- jQuery jQuery.param()
- jQuery jQuery.post()
- jQuery .load()
- jQuery .serialize()
- jQuery .serializeArray()
jQuery Keyboard Events
jQuery Keyboard Methods
jQuery Form Events
jQuery Form Methods
- jQuery .blur()
- jQuery .change()
- jQuery .focus()
- jQuery .focusin()
- jQuery .focusout()
- jQuery .select()
- jQuery .submit()
jQuery Mouse Event
- jQuery click
- jQuery contextmenu
- jQuery dblclick
- jQuery mousedown
- jQuery mouseenter
- jQuery mouseleave
- jQuery mousemove
- jQuery mouseout
- jQuery mouseover
- jQuery mouseup
jQuery Mouse Methods
- jQuery .click()
- jQuery .contextmenu()
- jQuery .dblclick()
- jQuery .hover()
- jQuery .mousedown()
- jQuery .mouseenter()
- jQuery .mouseleave()
- jQuery .mousemove()
- jQuery .mouseout()
- jQuery .mouseover()
- jQuery .mouseup()
- jQuery .toggle()
jQuery Event Object
- jQuery .bind()
- jQuery currentTarget
- jQuery data
- jQuery .delegate()
- jQuery delegateTarget
- jQuery .die()
- jQuery error
- jQuery .live()
- jQuery .off()
- jQuery .on()
- jQuery .one()
- jQuery isDefaultPrevented()
- jQuery isImmediatePropagationStopped()
- jQuery isPropagationStopped()
- jQuery metakey
- jQuery namespace
- jQuery pageX
- jQuery pageY
- jQuery preventDefault()
- jQuery relatedTarget
- jQuery resize
- jQuery result
- jQuery scroll()
- jQuery stopImmediatePropagation()
- jQuery stopPropagation()
- jQuery target
- jQuery timeStamp
- jQuery .trigger()
- jQuery .triggerHandler()
- jQuery type
- jQuery .unbind()
- jQuery .undelegate()
- jQuery which
jQuery Fading
jQuery Document Loading
- jQuery jQuery.error()
- jQuery .getScript()
- jQuery jQuery.holdReady()
- jQuery jQuery.ready
- jQuery load
- jQuery .ready()
- jQuery unload
- jQuery .unload()
jQuery Traversing
- jQuery .add()
- jQuery .addBack()
- jQuery .andSelf()
- jQuery .children()
- jQuery .closest()
- jQuery .contents()
- jQuery .each()
- jQuery .end()
- jQuery .eq()
- jQuery .even()
- jQuery .filter()
- jQuery .find()
- jQuery .first()
- jQuery .has()
- jQuery .is()
- jQuery .last()
- jQuery .map()
- jQuery .next()
- jQuery .nextAll()
- jQuery .nextUntil()
- jQuery .not()
- jQuery .odd()
- jQuery .offsetParent()
- jQuery .parent()
- jQuery .parents()
- jQuery .parentsUntil()
- jQuery .prev()
- jQuery .prevAll()
- jQuery .prevUntil()
- jQuery .siblings()
- jQuery .slice()
jQuery Utilities
- jQuery .clearQueue()
- jQuery .dequeue()
- jQuery jQuery.contains()
- jQuery jQuery.data()
- jQuery jQuery.dequeue()
- jQuery jQuery.each()
- jQuery jQuery.extend()
- jQuery jQuery.fn.extend()
- jQuery jQuery.globalEval()
- jQuery jQuery.grep()
- jQuery jQuery.inArray()
- jQuery jQuery.isArray()
- jQuery jQuery.isEmptyObject()
- jQuery jQuery.isFunction()
- jQuery jQuery.isNumeric()
- jQuery jQuery.isPlainObject()
- jQuery jQuery.isWindow()
- jQuery jQuery.isXMLDoc()
- jQuery jQuery.makeArray()
- jQuery jQuery.map()
- jQuery jQuery.merge()
- jQuery jQuery.noop()
- jQuery jQuery.now()
- jQuery jQuery.parseHTML()
- jQuery jQuery.parseJSON()
- jQuery jQuery.parseXML()
- jQuery jQuery.proxy()
- jQuery jQuery.queue()
- jQuery jQuery.removeData()
- jQuery jQuery.support
- jQuery jQuery.trim()
- jQuery jQuery.type()
- jQuery jQuery.unique()
- jQuery jQuery.uniqueSort()
- jQuery .queue()
- jQuery .uniqueSort()
jQuery Property
jQuery HTML
- jQuery .after()
- jQuery .append()
- jQuery .appendTo()
- jQuery .attr()
- jQuery .before()
- jQuery .clone()
- jQuery .data()
- jQuery .detach()
- jQuery .empty()
- jQuery .hasData()
- jQuery .html()
- jQuery .htmlPrefilter()
- jQuery .index()
- jQuery .insertAfter()
- jQuery .insertBefore()
- jQuery .prepend()
- jQuery .prependTo()
- jQuery .prop()
- jQuery .pushStack()
- jQuery .remove()
- jQuery .removeAttr()
- jQuery .removeData()
- jQuery .removeProp()
- jQuery .replaceAll()
- jQuery .replaceWith()
- jQuery .size()
- jQuery .text()
- jQuery .toArray()
- jQuery .unwrap()
- jQuery .val()
- jQuery .wrap()
- jQuery .wrapAll()
- jQuery .wrapInner()
jQuery CSS
- jQuery .addClass()
- jQuery .animate()
- jQuery .css()
- jQuery .delay()
- jQuery .finish()
- jQuery .hasClass()
- jQuery .height()
- jQuery .hide()
- jQuery .innerHeight()
- jQuery .innerWidth()
- jQuery jQuery.cssHooks
- jQuery jQuery.cssNumber
- jQuery jQuery.escapeSelector()
- jQuery .offset()
- jQuery .outerHeight()
- jQuery .outerWidth()
- jQuery .position()
- jQuery .removeClass()
- jQuery .resize()
- jQuery .scroll()
- jQuery .scrollLeft()
- jQuery .scrollTop()
- jQuery .show()
- jQuery .slideDown()
- jQuery .slideToggle()
- jQuery .slideUp()
- jQuery .stop()
- jQuery .sub()
- jQuery .toggleClass()
- jQuery .width()
jQuery Miscellaneous
jQuery event.relatedTarget Property
Photo Credit to CodeToFun
π Introduction
jQuery provides a robust set of tools for handling events, making it easier for developers to create interactive web applications. One useful property within jQuery's event object is event.relatedTarget
. This property is crucial when working with focus and mouse events, as it helps determine the element that is related to the event's target.
In this guide, we will explore the event.relatedTarget
property, understand its usage, and see practical examples to grasp its full potential.
π§ Understanding event.relatedTarget Property
The event.relatedTarget
property is part of the jQuery event object and is primarily used with focus and mouse events. It returns the element that is related to the event's target. For instance, in mouseover and mouseout events, event.relatedTarget
refers to the element the mouse pointer came from or is going to.
π‘ Syntax
The syntax for the event.relatedTarget
property is straightforward:
event.relatedTarget
π Example
Using event.relatedTarget with Mouseover and Mouseout Events:
The
event.relatedTarget
property is especially useful in handling mouseover and mouseout events. Here's an example:index.htmlCopied<div id="box1" style="width:100px; height:100px; background-color:lightblue;"></div> <div id="box2" style="width:100px; height:100px; background-color:lightgreen; margin-top:20px;"></div>
example.jsCopied$("#box1, #box2").on("mouseover mouseout", function(event) { if (event.type == "mouseover") { $(this).css("background-color", "yellow"); console.log("Mouse entered from: ", event.relatedTarget.id); } else if (event.type == "mouseout") { $(this).css("background-color", "lightblue"); console.log("Mouse left to: ", event.relatedTarget.id); } });
This example changes the background color of the boxes when the mouse enters and leaves, and logs the ID of the related element.
Handling Focus and Blur Events:
The
event.relatedTarget
property is also useful for managing focus and blur events, helping you identify which element has gained or lost focus.index.htmlCopied<input type="text" id="input1" placeholder="Input 1"> <input type="text" id="input2" placeholder="Input 2">
example.jsCopied$("#input1, #input2").on("focus blur", function(event) { if (event.type == "focus") { console.log("Focused from: ", event.relatedTarget ? event.relatedTarget.id : "None"); } else if (event.type == "blur") { console.log("Blurred to: ", event.relatedTarget ? event.relatedTarget.id : "None"); } });
In this example, the console will log the ID of the element that the focus came from or went to, helping you manage focus transitions.
Cross-browser Compatibility:
While
event.relatedTarget
is widely supported, itβs essential to ensure compatibility with older browsers. jQuery handles many cross-browser issues, but it's good to be aware of potential differences in behavior.Avoiding Null Values:
In some cases,
event.relatedTarget
can be null (e.g., when the mouse leaves the browser window). Always check for null values to prevent errors in your scripts:example.jsCopiedif (event.relatedTarget) { console.log("Related Target ID: ", event.relatedTarget.id); } else { console.log("No related target"); }
π Conclusion
The jQuery event.relatedTarget
property is a valuable tool for managing interactions between elements during focus and mouse events. By understanding and leveraging this property, you can create more dynamic and responsive web applications.
Whether handling focus transitions or mouse movements, event.relatedTarget
provides crucial context that enhances the user experience.
π¨βπ» Join our Community:
Author
For over eight years, I worked as a full-stack web developer. Now, I have chosen my profession as a full-time blogger at codetofun.com.
Buy me a coffee to make codetofun.com free for everyone.
Buy me a Coffee
If you have any doubts regarding this article (jQuery event.relatedTarget Property), please comment here. I will help you immediately.