我有一个来自divs(price_item)的盒子,里面有几个子div(日期,价格等).我用它作为显示价格的caroussel.如果单击任何子项,则父项的背景颜色必须更改为红色.我把它写成:
$(...selectquery...).click(function() { var $tgt = $(event.target); $tgt.parent().css("backgroundColor", "red"); });
在Chrome上,event.target按预期工作,在Firefox 3.0.1上显示"事件未定义".我该如何解决这个问题?
我尝试过以下方法:
$(this).parent().css()
它说 'object is not a function'
谢谢!
该event
对象通过jQuery传递到您的单击处理程序,因此您需要将其指定为参数.
您也可以将单击处理程序添加到父对象并使用"$(this)"而不是event.target:
$(...select the parent...).click(function() { $(this).css("backgroundColor", "red"); });
如果用户单击父项或其任何子项,它将调用您的单击处理程序.如果你只需要改变背景,如果他们实际点击其中一个孩子(例如,不在他们之间),这将无效.