Javascript 或 Jquery 检查是不是将鼠标悬停在元素上

Posted

技术标签:

【中文标题】Javascript 或 Jquery 检查是不是将鼠标悬停在元素上【英文标题】:Javascript or Jquery check if hovering over an elementJavascript 或 Jquery 检查是否将鼠标悬停在元素上 【发布时间】:2017-09-24 13:17:54 【问题描述】:

目标是当鼠标悬停在多个元素上时,每个元素都会触发一个特定的文本消息,如果没有一个元素悬停在其上,则没有文本。从其他问题中,我发现$("#id").is(":hover") 应该在鼠标悬停在元素上时返回 true,但它似乎没有这样做。它们都返回 false,文本为“无”

html

<input class="r_check" type="checkbox" id="r1" name="rating" value="1"><label for="r1"></label>
<input class="r_check" type="checkbox" id="r2" name="rating" value="2"><label for="r2"></label>
<input class="r_check" type="checkbox" id="r3" name="rating" value="3"><label for="r3"></label>

<p class="text" id="the_text"></p>

javascript/Jquery:

$(document).ready(function()
var text = $("#the_text");

    if($("#r1").is(":hover"))
        text.html("Low");
    else if($("#r2").is(":hover"))
        text.html("Medium");
    else if($("#r3").is(":hover"))
        text.html("High");
    else
        text.html("None");
    

);

我尝试用简单的&lt;p id="r1"&gt;input 1&lt;/p&gt; 元素替换输入字段,以查看输入的标签或类是否阻止了悬停事件,但这也不起作用。

【问题讨论】:

【参考方案1】:

您的问题可以用如下更简洁和更简单的方式编写

Working JSFiddle

<input class="r_check" type="checkbox" id="r1" name="rating" value="1" data-text="Low">
<input class="r_check" type="checkbox" id="r2" name="rating" value="2" data-text="Medium">
<input class="r_check" type="checkbox" id="r3" name="rating" value="3" data-text="High">

<p class="text" id="the_text"></p>

$(document).ready(function() 
  $(".r_check").each(function() 
    $(this)
      .mouseover(function() 
        $("#the_text").html($(this).attr('data-text'))
      )
      .mouseleave(function() 
        $("#the_text").html('');
      );
  )
);

【讨论】:

【参考方案2】:

$("#id").on("mouseenter", function(e) );

应该这样做

【讨论】:

【参考方案3】:

您正在做的是在页面加载时测试鼠标是否只在它上面一次,您应该做的是使用当鼠标悬停在您的输入上时触发的事件(使用 jquery 的 $('selector').hover(handlerIn,handlerOut) 或 @ 987654324@;

(Here's the difference)

Working jsFiddle

【讨论】:

以上是关于Javascript 或 Jquery 检查是不是将鼠标悬停在元素上的主要内容,如果未能解决你的问题,请参考以下文章

如何检查url查询字符串是不是等于javascript(或jquery)[重复]

Javascript/jQuery 检查字符串是不是包含一个单词或出现的可选单词之一

JQuery / Javascript:检查var是不是存在[重复]

检查输入字符串是不是包含javascript中的数字

Javascript/Jquery-如何检查函数是不是返回任何值?

JavaScript/jQuery - 如何检查字符串是不是包含特定单词