jQuery焦点事件从未触发
我有父元素jQuery焦点事件从未触发,jquery,html,css,focus,Jquery,Html,Css,Focus,我有父元素,它包含子元素,如。如果其中一个输入是聚焦的,我想在父元素上应用一些css样式,例如更改背景颜色: jQuery(document).ready(function(){ $(".contact-form").focus(function(){ $(".dropdown-menu.big").css('background-color', '#ff5544'); }); }); 但这段代码什么也不做,焦点事件也不会发生,Chrome调试器中也不会显示错误 编
,它包含子元素,如
。如果其中一个输入是聚焦的,我想在父元素上应用一些css样式,例如更改背景颜色:
jQuery(document).ready(function(){
$(".contact-form").focus(function(){
$(".dropdown-menu.big").css('background-color', '#ff5544');
});
});
但这段代码什么也不做,焦点事件也不会发生,Chrome调试器中也不会显示错误
编辑:已删除选择器中的空格,但未更改任何内容
编辑:问题是,焦点事件从未触发。我把我的代码改成了警报(“你好!我是一个警报框!!”)代码>且不显示警报。为什么呢 要么删除空间:
$(".dropdown-menu.big").css('background', '#ff5544');
或者通过DOM遍历通过聚焦元素获得:
$(this).closest(".dropdown-menu.big").css('background', '#ff5544');
还有一个建议是不要使用背景色,只要使用背景色即可 签出以下代码段:↓
$(':text')。焦点(函数(){
$(“.dropdown.big”).addClass('newclass');
});代码>
ul{
背景:绿黄色;
}
.下拉列表{背景:红色!重要;}
.newclass{背景:紫色!重要;}
-
这是一把工作小提琴,背景应用于父级li+模糊功能删除它:
jquery:
$('.contact-form').focus(function () {
$(this).parent().css({
backgroundColor: '#ff5544'
});
}).blur(function(){
$(this).parent().css({
backgroundColor: ''
});
});
尝试使用样式而不是像这样的css
$(".dropdown-menu.big").focus(function () {
this.style.backgroundColor("red");
});
并确保像这样放置和使用真正的jquery文件
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
这个问题非常愚蠢,我在输入类中犯了拼写错误——“联系人来源”而不是“联系人表单” $(“.dropdown menu.big”)
删除选择器中的空格。这没有帮助,不会再发生任何事情。我想在父元素上应用一些css样式。它是什么li
还是ul
(“.dropdown menu.big”).css('background','ff5544')
试试背景
。它是- ,而且“背景”也不起作用。这些对我都不起作用。css文件中定义了一个默认样式。更高优先级的是什么?css文件中的css样式还是jQuery设置的样式?如果
!重要信息
css hack在样式中使用,然后它将得到它,而不是在js中应用。因此,您可以尝试添加!重要信息
在新类中,并将该类添加到元素:.addClass('newclass')
。是的,它在小提琴中工作,但在我的tempalate中不工作。li在输入周围是否有可见区域?(如果它是显示内联块且没有填充,则可能不会),此外,一个重要的标记将覆盖内联样式,因此CSS中是否有任何东西妨碍了它?是的,但我发现焦点事件从未触发,我不知道为什么,脚本加载正确。页面加载没有错误,输入焦点没有错误,脚本已正确加载。。奇怪。悬停/单击事件有效吗?或者根本没有任何事件(例如,仅在doc ready中发出警报)