JQuery event.target错误

bal*_*int 3 javascript jquery event-handling jquery-1.3

我有一个来自divs(price_item)的盒子,里面有几个子div(日期,价格等).我用它作为显示价格的caroussel.如果单击任何子项,则父项的背景颜色必须更改为红色.我把它写成:

$(...selectquery...).click(function() {
    var $tgt = $(event.target);
    $tgt.parent().css("backgroundColor", "red");
});
Run Code Online (Sandbox Code Playgroud)

在Chrome上,event.target按预期工作,在Firefox 3.0.1上显示"事件未定义".我该如何解决这个问题?

我尝试过以下方法:

$(this).parent().css()
Run Code Online (Sandbox Code Playgroud)

它说 'object is not a function'

谢谢!

Mat*_*ley 8

event对象通过jQuery传递到您的单击处理程序,因此您需要将其指定为参数.

您也可以将单击处理程序添加到父对象并使用"$(this)"而不是event.target:

$(...select the parent...).click(function() {
    $(this).css("backgroundColor", "red");
});
Run Code Online (Sandbox Code Playgroud)

如果用户单击父项或其任何子项,它将调用您的单击处理程序.如果你只需要改变背景,如果他们实际点击其中一个孩子(例如,不在他们之间),这将无效.