首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jquery:在悬停时输入BGcolor,然后在mouseout时返回,但如果输入有焦点,则禁用mouseout BGcolor更改

JQuery是一个流行的JavaScript库,它简化了HTML文档遍历、事件处理、动画效果和AJAX等操作。针对你提到的需求,可以使用JQuery来实现在悬停时改变背景颜色,并在鼠标移出时恢复原来的颜色,但如果输入框有焦点,则禁用背景颜色的改变。

首先,你需要在HTML中引入JQuery库。可以通过以下方式引入:

代码语言:html
复制
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

接下来,你可以使用以下代码来实现所需的功能:

代码语言:javascript
复制
$(document).ready(function() {
  // 获取输入框元素
  var input = $('input');

  // 保存输入框原来的背景颜色
  var originalColor = input.css('background-color');

  // 鼠标悬停时改变背景颜色
  input.hover(function() {
    $(this).css('background-color', 'yellow');
  }, function() {
    // 鼠标移出时恢复原来的背景颜色,但只有在输入框没有焦点时才生效
    if (!$(this).is(':focus')) {
      $(this).css('background-color', originalColor);
    }
  });

  // 输入框获得焦点时禁用背景颜色的改变
  input.focus(function() {
    $(this).off('mouseout');
  });

  // 输入框失去焦点时重新启用背景颜色的改变
  input.blur(function() {
    input.hover(function() {
      $(this).css('background-color', 'yellow');
    }, function() {
      if (!$(this).is(':focus')) {
        $(this).css('background-color', originalColor);
      }
    });
  });
});

上述代码中,我们首先获取到输入框元素,并保存原来的背景颜色。然后,使用hover方法来定义鼠标悬停时和移出时的行为。在移出时,我们通过判断输入框是否有焦点来决定是否恢复原来的背景颜色。如果输入框有焦点,则通过off方法取消移出时的背景颜色恢复操作。同时,我们还使用focusblur方法来处理输入框获得焦点和失去焦点时的行为。

这样,当鼠标悬停在输入框上时,背景颜色会变为黄色;当鼠标移出输入框时,如果输入框没有焦点,则背景颜色会恢复为原来的颜色;如果输入框有焦点,则背景颜色不会改变。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,我无法给出具体的链接。但腾讯云作为一家知名的云计算服务提供商,提供了丰富的云计算产品和解决方案,你可以通过访问腾讯云官方网站来了解更多相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JQ事件和事件对象

()的区别    首先来了解一下事件冒泡和捕获     事件冒泡:内部事件先触发,然后触发外部事件     事件捕获:外部事件先被触发,然后触发内部元素     mouseover()/mouseout...() :鼠标移入“所选元素以及后代都会触发”     mouseenter()/mouseleave():鼠标移入“所选元素”才会触发,如果鼠标移入所选元素的后代,不会触发(增加阻止事件冒泡功能) <...两个参数(方法),鼠标一定到指定对象以及移出时会触发 二 键盘事件    1 keydown 键盘按下触发的事件    2 keyup     键盘松开一瞬间触发的事件    3 keypress...可以父元素上检测子元素获得焦点的情况 而focusout可以父元素上检测子元素失去焦点情况  四 其他事件   1 scroll()滚动滚动条触发的事件      2  resize()当调整窗口大小时触发的事件...mousedown、mouseup事件中,event.which属性返回的是对应鼠标按钮的映射代码值(相当于event.button)。

4.1K20

JQuery之内置函数响应事件

一:键盘事件: 1.keydown  当键盘或按钮被按下,发生 keydown 事件。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...与 mouseout 事件不同,只有鼠标指针离开被选元素,才会触发 mouseleave 事件。如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。...2.失去焦点blur :当元素失去焦点触发 blur 事件。这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。...可以通过某个绑定的函数中返回false来防止触发浏览器的默认行为。 四:其他事件: 1.scroll 当用户滚动指定的元素,会发生 scroll 事件。...如果想要再继续深入学习每个函数的具体用法,可以参考JQuery中的官方API。里面介绍都很详细,我这里就不多介绍了。 如对内容问题或有疑义,请及时提出,不甚感谢。本人QQ:208017534

2.1K60

【D3使用教程】(6) 交互操作之事件监听

}); 悬停高亮 简单的悬停高亮使用CSS3就能实现,例如在条形图上悬停高亮: rect { -moz-transition: all .3s; -o-transition:all .3s....on("mouseover",function(d){ d3.select(this) //传给任何D3方法的匿名函数中,如果想操作当前元素,只要引用this就行 .transition...) .transition(300) .attr("fill","rgb(0,0,"+(d*10)+")"); } 但是,你是否注意到,你将鼠标移到标签上...这里需要注意的是,单击条形图,会触发一次过渡,而鼠标悬停又会触发另一次过渡。为了运行鼠标悬停的高亮过渡,原来正在运行的过渡就会中断。所以,为了避免中断,这里的悬停我们使用了CSS3的方式。...rect或者其他图形时候添加title,当鼠标悬停在图形上方,自然会有浏览器自带的提示 2】 SVG提示条 利用mouseover()事件监听,动态创建值标签,而在mouseout发生,将值标签删除

28010

jQuery:详解jQuery中的事件(二)

只有鼠标指针穿过被选元素,才会触发 mouseenter 事件。   mouseout与mouseleave   不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。   ...只有鼠标指针离开被选元素,才会触发 mouseleave 事件。   ...上篇有过下面的一个例子,在其中如果要连续单击“标题”链接,实现“内容”隐藏和显示的效果,那么按照之前的做法就需要在绑定“click”事件的时候判断当前的“内容”部分是隐藏还是显示,然后进行相反的操作,显然就麻烦的多...jQuery三种办法可以解决事件冒泡导致的问题。...如果没有第一个参数,移除所有绑定的事件;否则只删除该类型的事件。   如果传入了第二个参数,只有这个特定的事件处理函数会被删除。这正是移除元素的某一个事件的方法。

2.2K30

第79天:jQuery事件总结(二)

一、合成事件 jQuery两个合成事件——hover()方法和toggle()方法,同ready()方法一样,这些都是jQuery自定义的方法。   ...只有鼠标指针穿过被选元素,才会触发 mouseenter 事件。   mouseout与mouseleave   不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。   ...只有鼠标指针离开被选元素,才会触发 mouseleave 事件。   ...jQuery三种办法可以解决事件冒泡导致的问题。...如果没有第一个参数,移除所有绑定的事件;否则只删除该类型的事件。   如果传入了第二个参数,只有这个特定的事件处理函数会被删除。这正是移除元素的某一个事件的方法。

1.6K20

前端开发JS——jQuery常用方法

,或者如果该事件存在多个处理函数,这可能造成浏览器的严重的性能问题 4、jQuery鼠标事件之mouseover与mouseout事件 mouseover方法用于监听用户鼠标移入操作,只有鼠标移入区域内后才生效...但是他们最主要的区别是第四点可能会处理冒泡事件,这第五点是不会处理冒泡事件 6、jQuery鼠标事件之hover事件 这个事件是第五点的总结方法,所以他也不会处理冒泡事件,即悬停事件,元素区域内悬停(...四种方式能触发submit事件: 、 、 、 当某些表单元素获取焦点,敲击...,可以传统的调用事件对象e.preventDefault()来处理;也可以函数上返回false 12、jQuery键盘事件之keydown与keyup事件 keydown方法用于监听用户键盘按下操作,...0,页面布局才发生改变;如果fadeIn(options)一开始布局变化,然后逐渐改变透明度 options可以传递多个参数,可以字典的形式传递,具体属性及属性值可查阅官方文档。

4.8K20

JavaWeb——JQuery之高级操作应用及实践案例总结(动画、遍历、事件绑定)

); 2)$.each(object,[callback]): 3)for..of:JQuery3.0 版本之后提供的方式 【注意】:如果遍历中加判断条件,当前function返回为false,结束循环...(相当于js中使用的break),如果返回为true,结束本次循环,继续下次循环(相当于js中使用的continue); 【练习案例】: <!...,结束循环 if("上海" == $(element).html()){ //如果当前function返回为false...//如果返回为true,结束本次循环,继续下次循环(continue) return true; }...,当点击对应组件,会执行fn1,再次点击会执行fn2...,若只有2个,循环执行。注意:JQuery1.9后该功能删除了,要使用的话引入jquery-migrate-1.0.0.js插件。

9.4K20

事件

示例一:如果直接将事件处理程序指定给目标元素,this、currentTarget和target包含相同的值。...事件 说明 blur 元素失去焦点触发,不会冒泡 focus 元素获得焦点触发,不会冒泡 focusin 元素获得焦点触发,会冒泡 focusout 元素失去焦点触发,会冒泡 当焦点从页面中的一个元素移动到另一个元素...被纳入标准; mousemove 鼠标指针元素内部移动重复地触发; mouseout 鼠标指针位于一个元素上方,然后用户将其移入另一个元素触发。...textInput 只有可编辑区域才有该事件,用户按下能够输入实际字符的键才会被触发。文本插入文本框之前触发,通常用于过滤敏感词。...,禁止输入 event.preventDefault(); } }); 5.

3.2K51

使用ZeroClipboard解决跨浏览器复制到剪贴板的问题

你可能注意到了,待复制的文本是固定的,如果想要动态改变的怎么办,比如复制一个输入框中的内容。不用担心,下面会讲到的。...如下面代码是jQuery下实现的resize事件重新设置按钮位置: $(window).resize(function(){ clip.reposition(); }); 2、hide() 和...3、setCSSEffects() 方法 当鼠标移到按钮上或点击,由于 Flash 按钮的遮挡,所以像 css “:hover”, “:active” 等伪类可能会失效。...返回的是 Flash 对应的 HTML 代码。...前面说过,如果需要动态改变待复制的内容,那 mouseOver 事件就可以派上用场了。例如需要动态复制一个 id 为 test 的输入框中的值,我们可以鼠标 over 的时候重新设置值。

1.6K60

JavaWeb18-jquery学习笔记(Java全栈开发)

可以父元素上检测子元素获取焦点的情况 blur和focusout 失去焦点 <script type="text/javascript" src=".....,同样会触发 mouseover 事件 mouseenter ,<em>如果</em>鼠标指针穿过任何子元素,不会触发 mouseenter 事件 <em>mouseout</em>和mouseleave 移除 同上 <script type...事件切换 hover <em>在</em>mouseover和<em>mouseout</em>之间进行切换 toggle 点击事件切换,点击第一次执行 fn,点击第二次执行fn2........,若无<em>则</em>滑入 淡入淡出 fadeIn([毫秒值],[fn]):淡入 fadeOut([毫秒值],[fn]):淡出 fadeTo([毫秒值],小数,[fn]):<em>在</em>指定的时间内,颜色淡化到指定的数字 fadeToggle...所有内容:<em>有</em>name,<em>有</em>值(非空)--文本有数据,单选多选选中,下拉列表选中等 字符串:key=value&key=value&.... serializeArray()将表单中所有内容转成json数组

6.8K90

02-老马jQuery教程-jQuery事件处理

绑简单事件 DOM中DOM0级绑定事件的方式是直接给事件属性赋值,但是这样个缺点就是每次指定的事件处理程序会把之前的覆盖掉。...与 mouseout 事件不同,只有鼠标指针离开被选元素,才会触发 mouseleave 事件。如果鼠标指针离开任何子元素,同样会触发 mouseout 事件。...此外,如果最开始的jQuery对象集合为空,这个方法返回 undefined 。 实例 $("input").triggerHandler("focus"); 2....语法:$dom.unbind(type,[fn]) 如果没有参数,删除所有绑定的事件。 如果提供了事件类型作为参数,只删除该类型的绑定事件。...如果绑定时传递的处理函数作为第二个参数,只有这个特定的事件处理函数会被删除。

2.7K80

前端(四)-jQuery

background-color","orange").end().last().css({"background-color":"pink"}); //可以选取到第一个li和最后一个li //先选取第一个li,然后...click() 鼠标点击事件 dblclick() 鼠标双击事件 focus() 获取焦点事件 blur() 失去焦点事件 鼠标事件方法的区别 方法 相同点 不同点 mouseover() 鼠标进入被选元素时会触发...鼠标在其被选元素的子元素上来回进入时,触发 mouseenter() 鼠标进入被选元素时会触发 鼠标在其被选元素的子元素上来回进入时,不触发 mouseout() 鼠标离开被选元素是会触发 鼠标在其被选元素的子元素上来回离开...,如果鼠标移入到某个图片,从当前的图片开始轮播 bannerIndex++; //如果轮播图片序号大于轮播图片总数,代表轮播到最后,要从头开始 if(bannerIndex...判断checked的三种方法: 方法 说明 .attr(‘checked’); 看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false .prop(‘checked

8.5K30

jQuery 双击事件(dblclick),不触发单击事件(click)

出处:jQuery 双击事件(dblclick),不触发单击事件(click) jQuery的事件绑定中,执行双击事件(dblclick)能触发两次单击事件(click)。...即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click),不会触发双击事件(dblclick), 执行双击事件(dblclick...mouseout,click,dblclick; 双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,第二次不会。...div').dblclick(functin () { // 取消上次延时未执行的方法 clearTimeout(TimeFn); //双击事件的执行代码 }) 从测试结果来看,如果前后两次点击的时间...300ms 左右的时候,还是很容易出现 click 和 dblclick 事件被“同时”调用的情况,而如果间隔的时间更短或更长,只会有 click 或 dblclick 事件。

5.1K30

jQuery的链式操作

(function(){$(this).removeClass("over");}) jQuery中,执行完mouseover或者mouseout等方法之后,都会返回当前的对象,所以可以进行链式操作(...•回调函数 所谓的回调函数,意指先在系统的某个地方对函数进行注册,让系统知道这个函数的存在,然后以后,当某个事件发生,再调用这个函数对事件进行响应。 ....但是问题,如果我们不看函数内部,我们并不知道callback会几时调用,什么情况下调用,代码间产生了一定耦合,流程上也会产生一定的混乱。...DOMCotentLoaded是一个事件,DOM并未加载前,jQuery的大部分操作都不会奏效,jQuery的设计者并没有把他当成事件一 样来处理,而是转成一种“选其对象,对其操作”的思路。...•Promise CommonJS中的异步编程模型也延续了这一想法,每一个异步任务返回一个Promise对象,该对象一个then方法,允许指定回调函数。

50230
领券