Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7878157
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T03:34:54+00:00 2026-06-03T03:34:54+00:00

Not sure how to go about this, but basically I wrote a tooltip plugin

  • 0

Not sure how to go about this, but basically I wrote a tooltip plugin which removes the tooltips on either mouseout or mousedown.

If a mousedown event is triggered, it’ll remove $that.parent() which is fine, and this removes the tooltip, but then if the user also triggers the mouseout event (which they will because the mouseover and mouseout events are currently chained), it will then delete another DOM element which I don’t want. So essentially I’m wondering if this is possible:

$that.on('mouseover', function() {

    // If this event is triggered within the mouseover event, don't run the chained mouseout event
    $that.on('mousedown', function() {
        $that.parent().next().fadeOut(100).remove();
        return false;
    });
}).mouseout(function() {
  // If they clicked above, don't run this
    $that.parent().next().fadeOut(100).remove();
});​

As far as I know, without using a global variable it’s hard to access a clicked boolean set inside of that mousedown event e.g:

$that.on('mouseover', function() {
    clicked = false;
    // If this event is triggered within the mouseover event, don't run the chained mouseout event
    $that.on('mousedown', function() {
        clicked = true;
        $that.parent().next().fadeOut(100).remove();
        return false;
    });
}).mouseout(function() {
    // If they clicked above, don't run this
    if (clicked) {
        $that.parent().next().fadeOut(100).remove();
    }
});​

Any thoughts on how to construct this elegantly?

EDIT: The elements in $that.parent().next() are just a <div class="js-tooltip"><span>Tooltip text</span></div>

But this should be irrelevant as I’d like to just know if it’s possible to return from that mouseover function if the mousedown was triggered without using a global variable.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T03:34:55+00:00Added an answer on June 3, 2026 at 3:34 am

    Have you considered simply using the class filter like this?

    $that.parent().next('.js-tooltip').fadeOut(100).remove();
    

    This would simply not do anything if the next wasn’t a tooltip, which should solve the problem as far as I understand.

    Using your proposed method, it would be clearner to do $that.clicked = false.

    Alternatively how about (if you want to keep the mouseover at all – this is just to demonstrate the principle; I’m not sure if it would work like this):

    $that.on('mouseover', function() {
    
        // If this event is triggered within the mouseover event, don't run the chained mouseout event
        $that.on('mousedown mouseout', function() {
            $that.parent().next().fadeOut(100).remove();
            $that.off('mousedown mouseout'); //prevent that happening again
            return false;
        });
    });
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am not sure if I am going about this the best way, but
I'm not even sure about how to title this qn. But, hope there is
Im not sure about the best way to do this but I have a
I'm not really sure how to title this question but basically I have an
I was not sure the best way to go about this. Basically, I have
I am not professional programmer so i can not be sure about this.How many
I am not sure how to go about this. Right now I am counting
I'm still not sure this is the correct way to go about this, maybe
Ok, I'm not quite sure how to go about this. Here's the scenario. 1)
I'm not sure if this can be done. But I just wanted to check

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.